6667620: (Escape Analysis) fix deoptimization for scalar replaced objects

Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed.

Reviewed-by: rasbold, never
This commit is contained in:
Vladimir Kozlov 2008-03-11 11:25:13 -07:00
parent 50708126d4
commit 96e8bcb6aa
6 changed files with 163 additions and 55 deletions

View file

@ -91,7 +91,9 @@ GrowableArray<ScopeValue*>* ScopeDesc::decode_object_values(int decode_offset) {
DebugInfoReadStream* stream = new DebugInfoReadStream(_code, decode_offset, result);
int length = stream->read_int();
for (int index = 0; index < length; index++) {
result->push(ScopeValue::read_from(stream));
// Objects values are pushed to 'result' array during read so that
// object's fields could reference it (OBJECT_ID_CODE).
(void)ScopeValue::read_from(stream);
}
assert(result->length() == length, "inconsistent debug information");
return result;