Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.hpp @ 9023:f94bb5d20e5d
Rename MethodInvalidatedException to InvalidInstalledCodeException (and make it a checked exception). Make sure that a compiled code object can always be directly called without first doing a check on the native method pointer.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 11 Apr 2013 17:36:46 +0200 |
parents | 5fc51c1ecdeb |
children | 836a62f43af9 |
comparison
equal
deleted
inserted
replaced
9002:7844a36d0216 | 9023:f94bb5d20e5d |
---|---|
53 bool is_virtual, | 53 bool is_virtual, |
54 bool is_optimized, TRAPS); | 54 bool is_optimized, TRAPS); |
55 | 55 |
56 // Shared stub locations | 56 // Shared stub locations |
57 | 57 |
58 static RuntimeStub* _deoptimized_installed_code_blob; | |
58 static RuntimeStub* _wrong_method_blob; | 59 static RuntimeStub* _wrong_method_blob; |
59 static RuntimeStub* _ic_miss_blob; | 60 static RuntimeStub* _ic_miss_blob; |
60 static RuntimeStub* _resolve_opt_virtual_call_blob; | 61 static RuntimeStub* _resolve_opt_virtual_call_blob; |
61 static RuntimeStub* _resolve_virtual_call_blob; | 62 static RuntimeStub* _resolve_virtual_call_blob; |
62 static RuntimeStub* _resolve_static_call_blob; | 63 static RuntimeStub* _resolve_static_call_blob; |
207 static address get_handle_wrong_method_stub() { | 208 static address get_handle_wrong_method_stub() { |
208 assert(_wrong_method_blob!= NULL, "oops"); | 209 assert(_wrong_method_blob!= NULL, "oops"); |
209 return _wrong_method_blob->entry_point(); | 210 return _wrong_method_blob->entry_point(); |
210 } | 211 } |
211 | 212 |
213 static address get_deoptimized_installed_code_stub() { | |
214 assert(_deoptimized_installed_code_blob!= NULL, "oops"); | |
215 return _deoptimized_installed_code_blob->entry_point(); | |
216 } | |
217 | |
212 #ifdef COMPILER2 | 218 #ifdef COMPILER2 |
213 static void generate_uncommon_trap_blob(void); | 219 static void generate_uncommon_trap_blob(void); |
214 static UncommonTrapBlob* uncommon_trap_blob() { return _uncommon_trap_blob; } | 220 static UncommonTrapBlob* uncommon_trap_blob() { return _uncommon_trap_blob; } |
215 #endif // COMPILER2 | 221 #endif // COMPILER2 |
216 | 222 |
483 | 489 |
484 // handle ic miss with caller being compiled code | 490 // handle ic miss with caller being compiled code |
485 // wrong method handling (inline cache misses, zombie methods) | 491 // wrong method handling (inline cache misses, zombie methods) |
486 static address handle_wrong_method(JavaThread* thread); | 492 static address handle_wrong_method(JavaThread* thread); |
487 static address handle_wrong_method_ic_miss(JavaThread* thread); | 493 static address handle_wrong_method_ic_miss(JavaThread* thread); |
494 | |
495 // handle deoptimized installed code | |
496 static address handle_deoptimized_installed_code(JavaThread* thread); | |
488 | 497 |
489 #ifndef PRODUCT | 498 #ifndef PRODUCT |
490 | 499 |
491 // Collect and print inline cache miss statistics | 500 // Collect and print inline cache miss statistics |
492 private: | 501 private: |