927 OptoReg::Name box_reg = BoxLockNode::stack_slot(box_node);
928 Location basic_lock = Location::new_stk_loc(Location::normal,_regalloc->reg2offset(box_reg));
929 while( !box_node->is_BoxLock() ) box_node = box_node->in(1);
930 monarray->append(new MonitorValue(scval, basic_lock, box_node->as_BoxLock()->is_eliminated()));
931 }
932
933 // We dump the object pool first, since deoptimization reads it in first.
934 debug_info()->dump_object_pool(objs);
935
936 // Build first class objects to pass to scope
937 DebugToken *locvals = debug_info()->create_scope_values(locarray);
938 DebugToken *expvals = debug_info()->create_scope_values(exparray);
939 DebugToken *monvals = debug_info()->create_monitor_values(monarray);
940
941 // Make method available for all Safepoints
942 ciMethod* scope_method = method ? method : _method;
943 // Describe the scope here
944 assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI");
945 assert(!jvms->should_reexecute() || depth == max_depth, "reexecute allowed only for the youngest");
946 // Now we can describe the scope.
947 debug_info()->describe_scope(safepoint_pc_offset, scope_method, jvms->bci(), jvms->should_reexecute(), is_method_handle_invoke, return_oop, locvals, expvals, monvals);
948 } // End jvms loop
949
950 // Mark the end of the scope set.
951 debug_info()->end_safepoint(safepoint_pc_offset);
952 }
953
954
955
956 // A simplified version of Process_OopMap_Node, to handle non-safepoints.
957 class NonSafepointEmitter {
958 Compile* C;
959 JVMState* _pending_jvms;
960 int _pending_offset;
961
962 void emit_non_safepoint();
963
964 public:
965 NonSafepointEmitter(Compile* compile) {
966 this->C = compile;
967 _pending_jvms = NULL;
|
927 OptoReg::Name box_reg = BoxLockNode::stack_slot(box_node);
928 Location basic_lock = Location::new_stk_loc(Location::normal,_regalloc->reg2offset(box_reg));
929 while( !box_node->is_BoxLock() ) box_node = box_node->in(1);
930 monarray->append(new MonitorValue(scval, basic_lock, box_node->as_BoxLock()->is_eliminated()));
931 }
932
933 // We dump the object pool first, since deoptimization reads it in first.
934 debug_info()->dump_object_pool(objs);
935
936 // Build first class objects to pass to scope
937 DebugToken *locvals = debug_info()->create_scope_values(locarray);
938 DebugToken *expvals = debug_info()->create_scope_values(exparray);
939 DebugToken *monvals = debug_info()->create_monitor_values(monarray);
940
941 // Make method available for all Safepoints
942 ciMethod* scope_method = method ? method : _method;
943 // Describe the scope here
944 assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI");
945 assert(!jvms->should_reexecute() || depth == max_depth, "reexecute allowed only for the youngest");
946 // Now we can describe the scope.
947 debug_info()->describe_scope(safepoint_pc_offset, scope_method, jvms->bci(), jvms->should_reexecute(), is_method_handle_invoke, false, return_oop, locvals, expvals, monvals);
948 } // End jvms loop
949
950 // Mark the end of the scope set.
951 debug_info()->end_safepoint(safepoint_pc_offset);
952 }
953
954
955
956 // A simplified version of Process_OopMap_Node, to handle non-safepoints.
957 class NonSafepointEmitter {
958 Compile* C;
959 JVMState* _pending_jvms;
960 int _pending_offset;
961
962 void emit_non_safepoint();
963
964 public:
965 NonSafepointEmitter(Compile* compile) {
966 this->C = compile;
967 _pending_jvms = NULL;
|