< prev index next >
src/cpu/x86/vm/macroAssembler_x86.cpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -5127,47 +5127,10 @@
vxorps(dst, nds, Address(rscratch1, 0), vector_len);
}
}
-void MacroAssembler::resolve_jobject(Register value,
- Register thread,
- Register tmp) {
- assert_different_registers(value, thread, tmp);
- Label done, not_weak;
- testptr(value, value);
- jcc(Assembler::zero, done); // Use NULL as-is.
- testptr(value, JNIHandles::weak_tag_mask); // Test for jweak tag.
- jcc(Assembler::zero, not_weak);
- // Resolve jweak.
- movptr(value, Address(value, -JNIHandles::weak_tag_value));
- verify_oop(value);
-#if INCLUDE_ALL_GCS
- if (UseG1GC) {
- g1_write_barrier_pre(noreg /* obj */,
- value /* pre_val */,
- thread /* thread */,
- tmp /* tmp */,
- true /* tosca_live */,
- true /* expand_call */);
- }
-#endif // INCLUDE_ALL_GCS
- jmp(done);
- bind(not_weak);
- // Resolve (untagged) jobject.
- movptr(value, Address(value, 0));
- verify_oop(value);
- bind(done);
-}
-
-void MacroAssembler::clear_jweak_tag(Register possibly_jweak) {
- const int32_t inverted_jweak_mask = ~static_cast<int32_t>(JNIHandles::weak_tag_mask);
- STATIC_ASSERT(inverted_jweak_mask == -2); // otherwise check this code
- // The inverted mask is sign-extended
- andptr(possibly_jweak, inverted_jweak_mask);
-}
-
//////////////////////////////////////////////////////////////////////////////////
#if INCLUDE_ALL_GCS
void MacroAssembler::g1_write_barrier_pre(Register obj,
Register pre_val,
< prev index next >