400 |
400 |
401 // Decode first part of scopeDesc |
401 // Decode first part of scopeDesc |
402 DebugInfoReadStream buffer(nm(), decode_offset); |
402 DebugInfoReadStream buffer(nm(), decode_offset); |
403 _sender_decode_offset = buffer.read_int(); |
403 _sender_decode_offset = buffer.read_int(); |
404 _method = methodOop(buffer.read_oop()); |
404 _method = methodOop(buffer.read_oop()); |
405 _bci = buffer.read_bci(); |
405 // Deoptimization needs reexecute bit to determine whether to reexecute the bytecode |
|
406 // only at the time when it "unpack_frames", and the reexecute bit info could always |
|
407 // be obtained from the scopeDesc in the compiledVFrame. As a result, we don't keep |
|
408 // the reexecute bit here. |
|
409 bool dummy_reexecute; |
|
410 _bci = buffer.read_bci_and_reexecute(dummy_reexecute); |
406 |
411 |
407 assert(_method->is_method(), "checking type of decoded method"); |
412 assert(_method->is_method(), "checking type of decoded method"); |
408 } |
413 } |
409 |
414 |
410 // The native frames are handled specially. We do not rely on ScopeDesc info |
415 // The native frames are handled specially. We do not rely on ScopeDesc info |