Mercurial > hg > graal-compiler
comparison src/share/vm/interpreter/templateInterpreter.hpp @ 900:9987d9d5eb0e
6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens
Reviewed-by: kvn, never, jrose, twisti
author | cfang |
---|---|
date | Fri, 31 Jul 2009 17:12:33 -0700 |
parents | be93aad57795 |
children | 389049f3f393 |
comparison
equal
deleted
inserted
replaced
899:55cb84cd1247 | 900:9987d9d5eb0e |
---|---|
169 // Safepoint support | 169 // Safepoint support |
170 static void notice_safepoints(); // stops the thread when reaching a safepoint | 170 static void notice_safepoints(); // stops the thread when reaching a safepoint |
171 static void ignore_safepoints(); // ignores safepoints | 171 static void ignore_safepoints(); // ignores safepoints |
172 | 172 |
173 // Deoptimization support | 173 // Deoptimization support |
174 static address continuation_for(methodOop method, | 174 // Compute the entry address for continuation after |
175 address bcp, | 175 static address deopt_continue_after_entry(methodOop method, |
176 int callee_parameters, | 176 address bcp, |
177 bool is_top_frame, | 177 int callee_parameters, |
178 bool& use_next_mdp); | 178 bool is_top_frame); |
179 // Deoptimization should reexecute this bytecode | |
180 static bool bytecode_should_reexecute(Bytecodes::Code code); | |
181 // Compute the address for reexecution | |
182 static address deopt_reexecute_entry(methodOop method, address bcp); | |
179 | 183 |
180 #include "incls/_templateInterpreter_pd.hpp.incl" | 184 #include "incls/_templateInterpreter_pd.hpp.incl" |
181 | 185 |
182 }; | 186 }; |
183 | 187 |