< prev index next >
src/hotspot/share/oops/valueKlass.cpp
Print this page
@@ -103,26 +103,10 @@
instanceOop oop = (instanceOop)Universe::heap()->obj_allocate(this, size, CHECK_NULL);
assert(oop->mark()->is_always_locked(), "Unlocked value type");
return oop;
}
-instanceOop ValueKlass::allocate_buffered_or_heap_instance(bool* in_heap, TRAPS) {
- assert(THREAD->is_Java_thread(), "Only Java threads can call this method");
-
- instanceOop value = NULL;
- if (is_bufferable()) {
- value = (instanceOop)VTBuffer::allocate_value(this, CHECK_NULL);
- *in_heap = false;
- }
- if (value == NULL) {
- log_info(valuetypes)("Value buffering failed, allocating in the Java heap");
- value = allocate_instance(CHECK_NULL);
- *in_heap = true;
- }
- return value;
-}
-
bool ValueKlass::is_atomic() {
return (nonstatic_field_size() * heapOopSize) <= longSize;
}
int ValueKlass::nonstatic_oop_count() {
@@ -469,19 +453,13 @@
assert(j == regs->length(), "missed a field?");
}
// Fields are in registers. Create an instance of the value type and
// initialize it with the values of the fields.
-oop ValueKlass::realloc_result(const RegisterMap& reg_map, const GrowableArray<Handle>& handles, bool buffered, TRAPS) {
- bool ignored = false;
- oop new_vt = NULL;
- if (buffered) {
- new_vt = allocate_buffered_or_heap_instance(&ignored, CHECK_NULL);
- } else {
- new_vt = allocate_instance(CHECK_NULL);
- }
+oop ValueKlass::realloc_result(const RegisterMap& reg_map, const GrowableArray<Handle>& handles, TRAPS) {
+ oop new_vt = allocate_instance(CHECK_NULL);
const Array<SigEntry>* sig_vk = extended_sig();
const Array<VMRegPair>* regs = return_regs();
int j = 1;
int k = 0;
< prev index next >