/openjdk7/hotspot/src/cpu/zero/vm/ |
H A D | dump_zero.cpp | 33 void** vtable, 32 generate_vtable_methods(void** vtbl_list, void** vtable, char** md_top, char* md_end, char** mc_top, char* mc_end) argument
|
H A D | methodHandles_zero.cpp | 140 // Resolve target method by looking up in the receiver object's vtable. 147 klassVtable* vtable = recvKlass_part->vtable(); local 148 methodOop vmtarget = vtable->method_at(vmindex);
|
/openjdk7/hotspot/src/cpu/sparc/vm/ |
H A D | dump_sparc.cpp | 33 // Generate the self-patching vtable method: 49 // All of the dummy methods in the vtable are essentially identical, 52 // to be 'vtbl_list_size' instances of the vtable in order to 58 void** vtable, 68 *vtable = dummy_vtable; 92 // Load L0 with a value indicating vtable/offset pair. 105 // Look up the correct vtable pointer. 107 __ set((intptr_t)vtbl_list, L2); // L2 = address of new vtable list. 108 __ srl(L0, 8, L3); // Isolate L3 = vtable identifier. 110 __ ld_ptr(L2, L3, L3); // L3 = new (correct) vtable pointe 57 generate_vtable_methods(void** vtbl_list, void** vtable, char** md_top, char* md_end, char** mc_top, char* mc_end) argument [all...] |
/openjdk7/hotspot/src/cpu/x86/vm/ |
H A D | dump_x86_32.cpp | 33 // Generate the self-patching vtable method: 49 // All of the dummy methods in the vtable are essentially identical, 52 // to be 'vtbl_list_size' instances of the vtable in order to 58 void** vtable, 68 *vtable = dummy_vtable; 81 // Load rax, with a value indicating vtable/offset pair. 107 __ shrptr(rcx, 8); // isolate vtable identifier. 111 __ movptr(rdx, ArrayAddress(vtbl, index)); // get correct vtable address. 117 __ movptr(Address(rcx, 0), rdx); // update vtable pointer. 119 __ andptr(rax, 0x00ff); // isolate vtable metho 57 generate_vtable_methods(void** vtbl_list, void** vtable, char** md_top, char* md_end, char** mc_top, char* mc_end) argument [all...] |
H A D | dump_x86_64.cpp | 33 // Generate the self-patching vtable method: 49 // All of the dummy methods in the vtable are essentially identical, 52 // to be 'vtbl_list_size' instances of the vtable in order to 58 void** vtable, 68 *vtable = dummy_vtable; 81 // Load eax with a value indicating vtable/offset pair. 99 __ shrptr(c_rarg0, 8); // isolate vtable identifier. 101 __ lea(c_rarg1, ExternalAddress((address)vtbl_list)); // ptr to correct vtable list. 103 __ movptr(c_rarg1, Address(c_rarg1, 0)); // get correct vtable address. 105 __ movptr(Address(c_rarg0, 0), c_rarg1); // update vtable pointe 57 generate_vtable_methods(void** vtbl_list, void** vtable, char** md_top, char* md_end, char** mc_top, char* mc_end) argument [all...] |
/openjdk7/hotspot/src/share/vm/oops/ |
H A D | arrayKlass.cpp | 77 // Note: because the Java vtable must start at the same offset in all klasses, 83 // Arrays don't add any new methods, so their vtable is the same size as 84 // the vtable of klass Object. 119 k->vtable()->initialize_vtable(false, CHECK); 144 klassVtable* arrayKlass::vtable() const { function in class:arrayKlass
|
H A D | klass.hpp | 92 // Holder (or cage) for the C++ vtable of each kind of Klass. 93 // We want to tightly constrain the location of the C++ vtable in the overall layout. 96 // The following virtual exists only to force creation of a C++ vtable, 97 // so that this class truly is the location of the vtable of all Klasses. 107 // In order to initialize the C++ vtable of a new instance, its 124 // performs the actual allocation and vtable set-up. That 144 // C++ vtable for the desired sub-Klass. Since C++ does not allow 147 // that the factory knows how to initialize the C++ vtable with the 156 // the vtable for a new klass has been installed (after the call to new()). 474 virtual klassVtable* vtable() cons function [all...] |
H A D | instanceKlass.cpp | 177 klassVtable* instanceKlass::vtable() const { function in class:instanceKlass 385 // Initialize the vtable and interface table after 391 this_oop->vtable()->initialize_vtable(true, CHECK_false); 397 this_oop->vtable()->verify(tty, true); 534 debug_only(this_oop->vtable()->verify(tty, true);)
|
/openjdk7/hotspot/src/share/vm/memory/ |
H A D | dump.cpp | 635 // Initialize super vtable first, check if already initialized to avoid 636 // quadradic behavior. The vtable is cleared in remove_unshareable_info. 640 if (ik->vtable()->is_initialized()) return; 644 ik->vtable()->initialize_vtable(false, _thread); 655 ik->vtable()->verify(tty, true); 658 // The vtable for array klasses are that of its super class, 661 if (ak->vtable()->is_initialized()) return; 662 ak->vtable()->initialize_vtable(false, _thread); 867 // Patch C++ vtable pointer in klass oops. 879 // 3. PatchKlassVtables: for Klass list, patch the vtable entr 1075 void* vtable = md_top; local [all...] |
H A D | universe.cpp | 304 // determine base vtable size; without that we cannot create the array klasses 431 // its vtable is initialized after core bootstrapping is completed. 517 guarantee((*n) < count, "vtable list too small"); 518 void* vtable = dereference(o); local 519 assert(dereference(vtable) != NULL, "invalid vtable"); 520 list[(*n)++] = vtable; 543 // so symbols in CDS archive should have their vtable pointer patched. 654 // init vtable of k and all subclasses 656 klassVtable* vt = ko->vtable(); [all...] |