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