Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.hpp @ 13382:570aaefce624
8028319: ConflictingDefaultsTest.testReabstract spins when running with -mode invoke and -Xcomp
Summary: Change _abstract_method_handler to return AbstractMethodError i2c, c2i and c2iv entries.
Reviewed-by: kvn, vlivanov
author | morris |
---|---|
date | Mon, 18 Nov 2013 12:26:51 -0800 |
parents | 28e5aed7f3a6 |
children | 02f27ecb4f3a b8b5791fa045 1174c8abbdb6 55fb97c4c58d |
comparison
equal
deleted
inserted
replaced
13381:854a42db7069 | 13382:570aaefce624 |
---|---|
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* _wrong_method_blob; | 58 static RuntimeStub* _wrong_method_blob; |
59 static RuntimeStub* _wrong_method_abstract_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; |
63 | 64 |
204 static address get_handle_wrong_method_stub() { | 205 static address get_handle_wrong_method_stub() { |
205 assert(_wrong_method_blob!= NULL, "oops"); | 206 assert(_wrong_method_blob!= NULL, "oops"); |
206 return _wrong_method_blob->entry_point(); | 207 return _wrong_method_blob->entry_point(); |
207 } | 208 } |
208 | 209 |
210 static address get_handle_wrong_method_abstract_stub() { | |
211 assert(_wrong_method_abstract_blob!= NULL, "oops"); | |
212 return _wrong_method_abstract_blob->entry_point(); | |
213 } | |
214 | |
209 #ifdef COMPILER2 | 215 #ifdef COMPILER2 |
210 static void generate_uncommon_trap_blob(void); | 216 static void generate_uncommon_trap_blob(void); |
211 static UncommonTrapBlob* uncommon_trap_blob() { return _uncommon_trap_blob; } | 217 static UncommonTrapBlob* uncommon_trap_blob() { return _uncommon_trap_blob; } |
212 #endif // COMPILER2 | 218 #endif // COMPILER2 |
213 | 219 |
479 jint length, JavaThread* thread); | 485 jint length, JavaThread* thread); |
480 | 486 |
481 // handle ic miss with caller being compiled code | 487 // handle ic miss with caller being compiled code |
482 // wrong method handling (inline cache misses, zombie methods) | 488 // wrong method handling (inline cache misses, zombie methods) |
483 static address handle_wrong_method(JavaThread* thread); | 489 static address handle_wrong_method(JavaThread* thread); |
490 static address handle_wrong_method_abstract(JavaThread* thread); | |
484 static address handle_wrong_method_ic_miss(JavaThread* thread); | 491 static address handle_wrong_method_ic_miss(JavaThread* thread); |
485 | 492 |
486 #ifndef PRODUCT | 493 #ifndef PRODUCT |
487 | 494 |
488 // Collect and print inline cache miss statistics | 495 // Collect and print inline cache miss statistics |