comparison src/share/vm/code/scopeDesc.cpp @ 44:52fed2ec0afb

6667620: (Escape Analysis) fix deoptimization for scalar replaced objects Summary: Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed. Reviewed-by: rasbold, never
author kvn
date Tue, 11 Mar 2008 11:25:13 -0700
parents a61af66fc99e
children d1605aabd0a1
comparison
equal deleted inserted replaced
43:d821d920b465 44:52fed2ec0afb
89 if (decode_offset == DebugInformationRecorder::serialized_null) return NULL; 89 if (decode_offset == DebugInformationRecorder::serialized_null) return NULL;
90 GrowableArray<ScopeValue*>* result = new GrowableArray<ScopeValue*>(); 90 GrowableArray<ScopeValue*>* result = new GrowableArray<ScopeValue*>();
91 DebugInfoReadStream* stream = new DebugInfoReadStream(_code, decode_offset, result); 91 DebugInfoReadStream* stream = new DebugInfoReadStream(_code, decode_offset, result);
92 int length = stream->read_int(); 92 int length = stream->read_int();
93 for (int index = 0; index < length; index++) { 93 for (int index = 0; index < length; index++) {
94 result->push(ScopeValue::read_from(stream)); 94 // Objects values are pushed to 'result' array during read so that
95 // object's fields could reference it (OBJECT_ID_CODE).
96 (void)ScopeValue::read_from(stream);
95 } 97 }
96 assert(result->length() == length, "inconsistent debug information"); 98 assert(result->length() == length, "inconsistent debug information");
97 return result; 99 return result;
98 } 100 }
99 101