src/share/vm/opto/output.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893081 Sdiff src/share/vm/opto

src/share/vm/opto/output.cpp

Print this page
rev 1024 : imported patch indy-cleanup-6893081.patch


 894       }
 895 
 896       OptoReg::Name box_reg = BoxLockNode::stack_slot(box_node);
 897       Location basic_lock = Location::new_stk_loc(Location::normal,_regalloc->reg2offset(box_reg));
 898       while( !box_node->is_BoxLock() )  box_node = box_node->in(1);
 899       monarray->append(new MonitorValue(scval, basic_lock, box_node->as_BoxLock()->is_eliminated()));
 900     }
 901 
 902     // We dump the object pool first, since deoptimization reads it in first.
 903     debug_info()->dump_object_pool(objs);
 904 
 905     // Build first class objects to pass to scope
 906     DebugToken *locvals = debug_info()->create_scope_values(locarray);
 907     DebugToken *expvals = debug_info()->create_scope_values(exparray);
 908     DebugToken *monvals = debug_info()->create_monitor_values(monarray);
 909 
 910     // Make method available for all Safepoints
 911     ciMethod* scope_method = method ? method : _method;
 912     // Describe the scope here
 913     assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI");
 914     assert(!jvms->should_reexecute() || depth==max_depth, "reexecute allowed only for the youngest");
 915     // Now we can describe the scope.
 916     debug_info()->describe_scope(safepoint_pc_offset,scope_method,jvms->bci(),jvms->should_reexecute(),locvals,expvals,monvals);

 917   } // End jvms loop
 918 
 919   // Mark the end of the scope set.
 920   debug_info()->end_safepoint(safepoint_pc_offset);
 921 }
 922 
 923 
 924 
 925 // A simplified version of Process_OopMap_Node, to handle non-safepoints.
 926 class NonSafepointEmitter {
 927   Compile*  C;
 928   JVMState* _pending_jvms;
 929   int       _pending_offset;
 930 
 931   void emit_non_safepoint();
 932 
 933  public:
 934   NonSafepointEmitter(Compile* compile) {
 935     this->C = compile;
 936     _pending_jvms = NULL;




 894       }
 895 
 896       OptoReg::Name box_reg = BoxLockNode::stack_slot(box_node);
 897       Location basic_lock = Location::new_stk_loc(Location::normal,_regalloc->reg2offset(box_reg));
 898       while( !box_node->is_BoxLock() )  box_node = box_node->in(1);
 899       monarray->append(new MonitorValue(scval, basic_lock, box_node->as_BoxLock()->is_eliminated()));
 900     }
 901 
 902     // We dump the object pool first, since deoptimization reads it in first.
 903     debug_info()->dump_object_pool(objs);
 904 
 905     // Build first class objects to pass to scope
 906     DebugToken *locvals = debug_info()->create_scope_values(locarray);
 907     DebugToken *expvals = debug_info()->create_scope_values(exparray);
 908     DebugToken *monvals = debug_info()->create_monitor_values(monarray);
 909 
 910     // Make method available for all Safepoints
 911     ciMethod* scope_method = method ? method : _method;
 912     // Describe the scope here
 913     assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI");
 914     assert(!jvms->should_reexecute() || depth == max_depth, "reexecute allowed only for the youngest");
 915     // Now we can describe the scope.
 916     bool is_method_handle_invoke = false;
 917     debug_info()->describe_scope(safepoint_pc_offset, scope_method, jvms->bci(), jvms->should_reexecute(), is_method_handle_invoke, locvals, expvals, monvals);
 918   } // End jvms loop
 919 
 920   // Mark the end of the scope set.
 921   debug_info()->end_safepoint(safepoint_pc_offset);
 922 }
 923 
 924 
 925 
 926 // A simplified version of Process_OopMap_Node, to handle non-safepoints.
 927 class NonSafepointEmitter {
 928   Compile*  C;
 929   JVMState* _pending_jvms;
 930   int       _pending_offset;
 931 
 932   void emit_non_safepoint();
 933 
 934  public:
 935   NonSafepointEmitter(Compile* compile) {
 936     this->C = compile;
 937     _pending_jvms = NULL;


src/share/vm/opto/output.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File