Searched defs:vtable (Results 1 - 10 of 10) sorted by relevance

/openjdk7/hotspot/src/cpu/zero/vm/
H A Ddump_zero.cpp33 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 DmethodHandles_zero.cpp140 // 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 Ddump_sparc.cpp33 // 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 Ddump_x86_32.cpp33 // 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 Ddump_x86_64.cpp33 // 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 DarrayKlass.cpp77 // 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 Dklass.hpp92 // 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 DinstanceKlass.cpp177 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 Ddump.cpp635 // 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 Duniverse.cpp304 // 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...]

Completed in 1093 milliseconds