src/cpu/x86/vm/assembler_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/x86/vm/assembler_x86_64.cpp Tue May 27 22:58:47 2008
--- new/src/cpu/x86/vm/assembler_x86_64.cpp Tue May 27 22:58:46 2008
*** 4926,4943 ****
--- 4926,4943 ----
jcc(Assembler::zero, do_refill);
// set up the mark word
mov64(t3, (int64_t) markOopDesc::prototype()->copy_set_hash(0x2));
movq(Address(top, oopDesc::mark_offset_in_bytes()), t3);
+ // set klass to intArrayKlass
+ movptr(t3, ExternalAddress((address) Universe::intArrayKlassObj_addr()));
+ store_klass(top, t3);
// set the length to the remaining space
subq(t1, typeArrayOopDesc::header_size(T_INT));
addq(t1, (int)ThreadLocalAllocBuffer::alignment_reserve());
shlq(t1, log2_intptr(HeapWordSize / sizeof(jint)));
movq(Address(top, arrayOopDesc::length_offset_in_bytes()), t1);
// set klass to intArrayKlass
movptr(t1, ExternalAddress((address) Universe::intArrayKlassObj_addr()));
store_klass(top, t1);
// refill the tlab with an eden allocation
bind(do_refill);
movq(t1, Address(thread_reg, in_bytes(JavaThread::tlab_size_offset())));
shlq(t1, LogHeapWordSize);
src/cpu/x86/vm/assembler_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File