1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A#include "precompiled.hpp"
1879N/A#include "interpreter/bytecodeStream.hpp"
1879N/A#include "oops/generateOopMap.hpp"
1879N/A#include "oops/oop.inline.hpp"
2062N/A#include "oops/symbol.hpp"
1879N/A#include "runtime/handles.inline.hpp"
1879N/A#include "runtime/relocator.hpp"
1879N/A#include "utilities/bitMap.inline.hpp"
3932N/A#include "prims/methodHandles.hpp"
0N/A// '@' bottom/unexecuted; initial state each bytecode.
0N/A// Implementation of RetTable/RetTableEntry
0N/Astatic CellTypeState rrCTS[3] = { CellTypeState::ref, CellTypeState::ref, CellTypeState::bottom };
0N/Astatic CellTypeState vrCTS[3] = { CellTypeState::value, CellTypeState::ref, CellTypeState::bottom };
0N/Astatic CellTypeState vvCTS[3] = { CellTypeState::value, CellTypeState::value, CellTypeState::bottom };
0N/Astatic CellTypeState rvrCTS[4] = { CellTypeState::ref, CellTypeState::value, CellTypeState::ref, CellTypeState::bottom };
0N/Astatic CellTypeState vvrCTS[4] = { CellTypeState::value, CellTypeState::value, CellTypeState::ref, CellTypeState::bottom };
0N/Astatic CellTypeState vvvCTS[4] = { CellTypeState::value, CellTypeState::value, CellTypeState::value, CellTypeState::bottom };
0N/Astatic CellTypeState vvvrCTS[5] = { CellTypeState::value, CellTypeState::value, CellTypeState::value, CellTypeState::ref, CellTypeState::bottom };
0N/Astatic CellTypeState vvvvCTS[5] = { CellTypeState::value, CellTypeState::value, CellTypeState::value, CellTypeState::value, CellTypeState::bottom };
0N/A if (can_be_reference()) {
0N/A } else if (can_be_value())
0N/A else if (can_be_address())
0N/A else if (can_be_uninit())
0N/A if (can_be_address()) {
0N/A if (can_be_reference()) {
0N/A if (can_be_value()) {
0N/A if (can_be_uninit()) {
0N/A if (is_info_top()) {
0N/A } else if (is_info_bottom()) {
0N/A if (is_reference()) {
0N/A _gc_points = 0;
0N/A if (TraceNewOopMapGeneration) {
0N/A if (!fellThrough)
0N/A _gc_points++;
0N/A if (fell_through) {
0N/A for (int i = 0; i < _max_locals; i++)
0N/A _stack_top = 0;
0N/A _monitor_top = 0;
2062N/Aint GenerateOopMap::methodsig_to_effect(Symbol* signature, bool is_static, CellTypeState* effect) {
0N/A if (TraceMonitorMismatch) {
0N/A _monitor_safe = false;
0N/A if ( _stack_top <= 0) {
0N/A if (_monitor_top == 0) {
0N/A _monitor_safe = false;
0N/A if (TraceMonitorMismatch) {
0N/A _monitor_safe = false;
0N/A if (TraceMonitorMismatch) {
0N/A if (TraceNewOopMapGeneration) {
0N/A _monitor_safe = true;