comparison src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 12056:740e263c80c6

8003424: Enable Class Data Sharing for CompressedOops 8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops 8005933: The -Xshare:auto option is ignored for -server Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs. Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
author hseigel
date Thu, 15 Aug 2013 20:04:10 -0400
parents 980532a806a5
children 58fc8e2b7b6d 00f5eff62d18
comparison
equal deleted inserted replaced
12055:d96f52012aaa 12056:740e263c80c6
673 673
674 // make sure klass is 'reasonable', which is not zero. 674 // make sure klass is 'reasonable', which is not zero.
675 __ movptr(rax, Address(rax, oopDesc::klass_offset_in_bytes())); // get klass 675 __ movptr(rax, Address(rax, oopDesc::klass_offset_in_bytes())); // get klass
676 __ testptr(rax, rax); 676 __ testptr(rax, rax);
677 __ jcc(Assembler::zero, error); // if klass is NULL it is broken 677 __ jcc(Assembler::zero, error); // if klass is NULL it is broken
678 // TODO: Future assert that klass is lower 4g memory for UseCompressedKlassPointers
679 678
680 // return if everything seems ok 679 // return if everything seems ok
681 __ bind(exit); 680 __ bind(exit);
682 __ movptr(rax, Address(rsp, 5 * wordSize)); // get saved rax, back 681 __ movptr(rax, Address(rsp, 5 * wordSize)); // get saved rax, back
683 __ pop(rdx); // restore rdx 682 __ pop(rdx); // restore rdx