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: