hotspot/src/share/vm/code/scopeDesc.cpp
changeset 217 c646ef2f5d58
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
216:9d2d32d9828f 217:c646ef2f5d58
    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