mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
Reviewed-by: kvn
This commit is contained in:
parent
dece7fbfec
commit
edb7b9514a
36 changed files with 678 additions and 729 deletions
|
@ -2404,7 +2404,7 @@ OopMap* LinearScan::compute_oop_map(IntervalWalker* iw, LIR_Op* op, CodeEmitInfo
|
|||
assert(!is_call_site || assigned_reg >= nof_regs || !is_caller_save(assigned_reg), "interval is in a caller-save register at a call -> register will be overwritten");
|
||||
|
||||
VMReg name = vm_reg_for_interval(interval);
|
||||
map->set_oop(name);
|
||||
set_oop(map, name);
|
||||
|
||||
// Spill optimization: when the stack value is guaranteed to be always correct,
|
||||
// then it must be added to the oop map even if the interval is currently in a register
|
||||
|
@ -2415,7 +2415,7 @@ OopMap* LinearScan::compute_oop_map(IntervalWalker* iw, LIR_Op* op, CodeEmitInfo
|
|||
assert(interval->canonical_spill_slot() >= LinearScan::nof_regs, "no spill slot assigned");
|
||||
assert(interval->assigned_reg() < LinearScan::nof_regs, "interval is on stack, so stack slot is registered twice");
|
||||
|
||||
map->set_oop(frame_map()->slot_regname(interval->canonical_spill_slot() - LinearScan::nof_regs));
|
||||
set_oop(map, frame_map()->slot_regname(interval->canonical_spill_slot() - LinearScan::nof_regs));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2424,7 +2424,7 @@ OopMap* LinearScan::compute_oop_map(IntervalWalker* iw, LIR_Op* op, CodeEmitInfo
|
|||
assert(info->stack() != NULL, "CodeEmitInfo must always have a stack");
|
||||
int locks_count = info->stack()->total_locks_size();
|
||||
for (int i = 0; i < locks_count; i++) {
|
||||
map->set_oop(frame_map()->monitor_object_regname(i));
|
||||
set_oop(map, frame_map()->monitor_object_regname(i));
|
||||
}
|
||||
|
||||
return map;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue