Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/vframeArray.cpp @ 2607:008adfd6d850
Fixed the stateBefore of invokes and monitorenter instructions to include the arguments of the instruction.
This is necessary to ensure correct continuation in the interpreter when the stateBefore is used as a deoptimization point.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Fri, 06 May 2011 17:47:17 +0200 |
parents | d25d4ca69222 |
children | 5ca1332171c8 |
comparison
equal
deleted
inserted
replaced
2606:f21f430a6ef2 | 2607:008adfd6d850 |
---|---|
301 int bci = iframe()->interpreter_frame_bci(); | 301 int bci = iframe()->interpreter_frame_bci(); |
302 if (use_next_mdp) ++bci; | 302 if (use_next_mdp) ++bci; |
303 address mdp = mdo->bci_to_dp(bci); | 303 address mdp = mdo->bci_to_dp(bci); |
304 iframe()->interpreter_frame_set_mdp(mdp); | 304 iframe()->interpreter_frame_set_mdp(mdp); |
305 } | 305 } |
306 } | |
307 | |
308 if (TraceDeoptimization) { | |
309 tty->print_cr("Expressions size: %d", expressions()->size()); | |
306 } | 310 } |
307 | 311 |
308 // Unpack expression stack | 312 // Unpack expression stack |
309 // If this is an intermediate frame (i.e. not top frame) then this | 313 // If this is an intermediate frame (i.e. not top frame) then this |
310 // only unpacks the part of the expression stack not used by callee | 314 // only unpacks the part of the expression stack not used by callee |