From 65530c91007fbf97a4839c5072b2e5b3ee273460 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Tue, 24 May 2011 20:24:11 -0700 Subject: [PATCH] 7048030: is_scavengable changes causing compiler to embed more constants CiObject::can_be_constant() and should_be_constant() should use is_perm() instead of !is_scavengable() Reviewed-by: never, jrose --- hotspot/src/share/vm/ci/ciObject.cpp | 4 ++-- hotspot/src/share/vm/ci/ciObject.hpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hotspot/src/share/vm/ci/ciObject.cpp b/hotspot/src/share/vm/ci/ciObject.cpp index 031f584d22c..b7dd1e5e537 100644 --- a/hotspot/src/share/vm/ci/ciObject.cpp +++ b/hotspot/src/share/vm/ci/ciObject.cpp @@ -187,7 +187,7 @@ jobject ciObject::constant_encoding() { // ciObject::can_be_constant bool ciObject::can_be_constant() { if (ScavengeRootsInCode >= 1) return true; // now everybody can encode as a constant - return handle() == NULL || !is_scavengable(); + return handle() == NULL || is_perm(); } // ------------------------------------------------------------------ @@ -204,7 +204,7 @@ bool ciObject::should_be_constant() { return true; } } - return handle() == NULL || !is_scavengable(); + return handle() == NULL || is_perm(); } diff --git a/hotspot/src/share/vm/ci/ciObject.hpp b/hotspot/src/share/vm/ci/ciObject.hpp index 2542d150b6b..be461038758 100644 --- a/hotspot/src/share/vm/ci/ciObject.hpp +++ b/hotspot/src/share/vm/ci/ciObject.hpp @@ -108,7 +108,7 @@ public: int hash(); // Tells if this oop has an encoding as a constant. - // True if is_scavengable is false. + // True if is_perm is true. // Also true if ScavengeRootsInCode is non-zero. // If it does not have an encoding, the compiler is responsible for // making other arrangements for dealing with the oop. @@ -116,7 +116,7 @@ public: bool can_be_constant(); // Tells if this oop should be made a constant. - // True if is_scavengable is false or ScavengeRootsInCode > 1. + // True if is_perm is true or ScavengeRootsInCode > 1. bool should_be_constant(); // Is this object guaranteed to be in the permanent part of the heap?