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
This commit is contained in:
parent
da271b804e
commit
65530c9100
@ -187,7 +187,7 @@ jobject ciObject::constant_encoding() {
|
|||||||
// ciObject::can_be_constant
|
// ciObject::can_be_constant
|
||||||
bool ciObject::can_be_constant() {
|
bool ciObject::can_be_constant() {
|
||||||
if (ScavengeRootsInCode >= 1) return true; // now everybody can encode as a 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 true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return handle() == NULL || !is_scavengable();
|
return handle() == NULL || is_perm();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ public:
|
|||||||
int hash();
|
int hash();
|
||||||
|
|
||||||
// Tells if this oop has an encoding as a constant.
|
// 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.
|
// Also true if ScavengeRootsInCode is non-zero.
|
||||||
// If it does not have an encoding, the compiler is responsible for
|
// If it does not have an encoding, the compiler is responsible for
|
||||||
// making other arrangements for dealing with the oop.
|
// making other arrangements for dealing with the oop.
|
||||||
@ -116,7 +116,7 @@ public:
|
|||||||
bool can_be_constant();
|
bool can_be_constant();
|
||||||
|
|
||||||
// Tells if this oop should be made a 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();
|
bool should_be_constant();
|
||||||
|
|
||||||
// Is this object guaranteed to be in the permanent part of the heap?
|
// Is this object guaranteed to be in the permanent part of the heap?
|
||||||
|
Loading…
Reference in New Issue
Block a user