< prev index next >
src/cpu/x86/vm/jniFastGetField_x86_64.cpp
Print this page
rev 12906 : [mq]: gc_interface
@@ -79,11 +79,12 @@
__ xorptr(robj, rcounter); // obj, since
// robj ^ rcounter ^ rcounter == robj
// robj is data dependent on rcounter.
}
- __ clear_jweak_tag(robj);
+ __ testb(robj, JNIHandles::weak_tag_mask);
+ __ jcc (Assembler::notZero, slow);
__ movptr(robj, Address(robj, 0)); // *obj
__ mov (roffset, c_rarg2);
__ shrptr(roffset, 2); // offset
@@ -180,11 +181,12 @@
__ xorptr(robj, rcounter); // obj, since
// robj ^ rcounter ^ rcounter == robj
// robj is data dependent on rcounter.
}
- __ clear_jweak_tag(robj);
+ __ testb(robj, JNIHandles::weak_tag_mask);
+ __ jcc (Assembler::notZero, slow);
__ movptr(robj, Address(robj, 0)); // *obj
__ mov (roffset, c_rarg2);
__ shrptr(roffset, 2); // offset
< prev index next >