Mercurial > hg > truffle
comparison src/share/vm/runtime/vframe.hpp @ 931:72088be4b386
6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
Summary: use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams
Reviewed-by: kvn, never, twisti
author | cfang |
---|---|
date | Thu, 20 Aug 2009 12:42:57 -0700 |
parents | 15bbd3f505c0 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
930:357d4e2eb4dd | 931:72088be4b386 |
---|---|
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 // Deoptimization needs reexecute bit to determine whether to reexecute the bytecode | 405 _bci = buffer.read_bci(); |
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); | |
411 | 406 |
412 assert(_method->is_method(), "checking type of decoded method"); | 407 assert(_method->is_method(), "checking type of decoded method"); |
413 } | 408 } |
414 | 409 |
415 // The native frames are handled specially. We do not rely on ScopeDesc info | 410 // The native frames are handled specially. We do not rely on ScopeDesc info |