OpenJDK / jdk / jdk
changeset 49452:acb36277a784
8199728: Remove oopDesc::is_scavengable
Reviewed-by: kbarrett, pliden
author | stefank |
---|---|
date | Thu, 15 Mar 2018 21:26:55 +0100 |
parents | e06f9607f370 |
children | c8ab058dcf1f |
files | src/hotspot/cpu/x86/x86_32.ad src/hotspot/cpu/x86/x86_64.ad src/hotspot/share/ci/ciObject.cpp src/hotspot/share/code/nmethod.cpp src/hotspot/share/oops/oop.hpp src/hotspot/share/oops/oop.inline.hpp |
diffstat | 6 files changed, 8 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/cpu/x86/x86_32.ad Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/cpu/x86/x86_32.ad Thu Mar 15 21:26:55 2018 +0100 @@ -391,7 +391,7 @@ int format) { #ifdef ASSERT if (rspec.reloc()->type() == relocInfo::oop_type && d32 != 0 && d32 != (int)Universe::non_oop_word()) { - assert(oopDesc::is_oop(cast_to_oop(d32)) && (ScavengeRootsInCode || !cast_to_oop(d32)->is_scavengable()), "cannot embed scavengable oops in code"); + assert(oopDesc::is_oop(cast_to_oop(d32)) && (ScavengeRootsInCode || !Universe::heap()->is_scavengable(cast_to_oop(d32))), "cannot embed scavengable oops in code"); } #endif cbuf.relocate(cbuf.insts_mark(), rspec, format); @@ -786,7 +786,7 @@ } if (cbuf) { MacroAssembler _masm(cbuf); - // EVEX spills remain EVEX: Compressed displacemement is better than AVX on spill mem operations, + // EVEX spills remain EVEX: Compressed displacemement is better than AVX on spill mem operations, // it maps more cases to single byte displacement _masm.set_managed(); if (reg_lo+1 == reg_hi) { // double move? @@ -976,7 +976,7 @@ dst_offset_size = (tmp_dst_offset == 0) ? 0 : ((tmp_dst_offset < 0x80) ? 1 : 4); calc_size += 3+src_offset_size + 3+dst_offset_size; break; - } + } case Op_VecX: case Op_VecY: case Op_VecZ:
--- a/src/hotspot/cpu/x86/x86_64.ad Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/cpu/x86/x86_64.ad Thu Mar 15 21:26:55 2018 +0100 @@ -669,7 +669,7 @@ if (rspec.reloc()->type() == relocInfo::oop_type && d32 != 0 && d32 != (intptr_t) Universe::non_oop_word()) { assert(Universe::heap()->is_in_reserved((address)(intptr_t)d32), "should be real oop"); - assert(oopDesc::is_oop(cast_to_oop((intptr_t)d32)) && (ScavengeRootsInCode || !cast_to_oop((intptr_t)d32)->is_scavengable()), "cannot embed scavengable oops in code"); + assert(oopDesc::is_oop(cast_to_oop((intptr_t)d32)) && (ScavengeRootsInCode || !Universe::heap()->is_scavengable(cast_to_oop((intptr_t)d32))), "cannot embed scavengable oops in code"); } #endif cbuf.relocate(cbuf.insts_mark(), rspec, format); @@ -696,7 +696,7 @@ if (rspec.reloc()->type() == relocInfo::oop_type && d64 != 0 && d64 != (int64_t) Universe::non_oop_word()) { assert(Universe::heap()->is_in_reserved((address)d64), "should be real oop"); - assert(oopDesc::is_oop(cast_to_oop(d64)) && (ScavengeRootsInCode || !cast_to_oop(d64)->is_scavengable()), + assert(oopDesc::is_oop(cast_to_oop(d64)) && (ScavengeRootsInCode || !Universe::heap()->is_scavengable(cast_to_oop(d64))), "cannot embed scavengable oops in code"); } #endif
--- a/src/hotspot/share/ci/ciObject.cpp Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/share/ci/ciObject.cpp Thu Mar 15 21:26:55 2018 +0100 @@ -207,7 +207,7 @@ int flags = 0; if (x != NULL) { assert(Universe::heap()->is_in_reserved(x), "must be"); - if (x->is_scavengable()) + if (Universe::heap()->is_scavengable(x)) flags |= SCAVENGABLE_FLAG; } _ident |= flags;
--- a/src/hotspot/share/code/nmethod.cpp Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/share/code/nmethod.cpp Thu Mar 15 21:26:55 2018 +0100 @@ -1683,7 +1683,7 @@ { NOT_PRODUCT(_print_nm = NULL); } bool detected_scavenge_root() { return _detected_scavenge_root; } virtual void do_oop(oop* p) { - if ((*p) != NULL && (*p)->is_scavengable()) { + if ((*p) != NULL && Universe::heap()->is_scavengable(*p)) { NOT_PRODUCT(maybe_print(p)); _detected_scavenge_root = true; } @@ -2178,7 +2178,7 @@ DebugScavengeRoot(nmethod* nm) : _nm(nm), _ok(true) { } bool ok() { return _ok; } virtual void do_oop(oop* p) { - if ((*p) == NULL || !(*p)->is_scavengable()) return; + if ((*p) == NULL || !Universe::heap()->is_scavengable(*p)) return; if (_ok) { _nm->print_nmethod(true); _ok = false;
--- a/src/hotspot/share/oops/oop.hpp Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/share/oops/oop.hpp Thu Mar 15 21:26:55 2018 +0100 @@ -284,8 +284,6 @@ // garbage collection inline bool is_gc_marked() const; - inline bool is_scavengable() const; - // Forward pointer operations for scavenge inline bool is_forwarded() const;
--- a/src/hotspot/share/oops/oop.inline.hpp Fri Mar 16 22:59:32 2018 -0700 +++ b/src/hotspot/share/oops/oop.inline.hpp Thu Mar 15 21:26:55 2018 +0100 @@ -363,10 +363,6 @@ return mark()->is_marked(); } -bool oopDesc::is_scavengable() const { - return Universe::heap()->is_scavengable(oop(const_cast<oopDesc*>(this))); -} - // Used by scavengers bool oopDesc::is_forwarded() const { // The extra heap check is needed since the obj might be locked, in which case the