mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 18:14:38 +02:00
6837472: com/sun/jdi/MonitorFrameInfo.java fails with AggressiveOpts in 6u14
Disable escape analysis when jvmti/debugger is used. Add support for EA ibto SA. Reviewed-by: never
This commit is contained in:
parent
0429abd38a
commit
7b9d6a79ac
22 changed files with 350 additions and 33 deletions
|
@ -61,6 +61,7 @@ void vframeArrayElement::fill_in(compiledVFrame* vf) {
|
|||
// Migrate the BasicLocks from the stack to the monitor chunk
|
||||
for (index = 0; index < list->length(); index++) {
|
||||
MonitorInfo* monitor = list->at(index);
|
||||
assert(!monitor->owner_is_scalar_replaced(), "object should be reallocated already");
|
||||
assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased");
|
||||
BasicObjectLock* dest = _monitors->at(index);
|
||||
dest->set_obj(monitor->owner());
|
||||
|
@ -89,6 +90,7 @@ void vframeArrayElement::fill_in(compiledVFrame* vf) {
|
|||
StackValue* value = locs->at(index);
|
||||
switch(value->type()) {
|
||||
case T_OBJECT:
|
||||
assert(!value->obj_is_scalar_replaced(), "object should be reallocated already");
|
||||
// preserve object type
|
||||
_locals->add( new StackValue((intptr_t) (value->get_obj()()), T_OBJECT ));
|
||||
break;
|
||||
|
@ -113,6 +115,7 @@ void vframeArrayElement::fill_in(compiledVFrame* vf) {
|
|||
StackValue* value = exprs->at(index);
|
||||
switch(value->type()) {
|
||||
case T_OBJECT:
|
||||
assert(!value->obj_is_scalar_replaced(), "object should be reallocated already");
|
||||
// preserve object type
|
||||
_expressions->add( new StackValue((intptr_t) (value->get_obj()()), T_OBJECT ));
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue