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