comparison src/share/vm/ci/ciObject.hpp @ 3402:28a9fe9534ea

7048030: is_scavengable changes causing compiler to embed more constants Summary: ciObject::can_be_constant() and should_be_constant() should use is_perm() instead of !is_scavengable() Reviewed-by: never, jrose
author kvn
date Tue, 24 May 2011 20:24:11 -0700
parents 1d1603768966
children be4ca325525a 1d7922586cf6
comparison
equal deleted inserted replaced
3401:ccf072cdba91 3402:28a9fe9534ea
106 106
107 // A hash value for the convenience of compilers. 107 // A hash value for the convenience of compilers.
108 int hash(); 108 int hash();
109 109
110 // Tells if this oop has an encoding as a constant. 110 // Tells if this oop has an encoding as a constant.
111 // True if is_scavengable is false. 111 // True if is_perm is true.
112 // Also true if ScavengeRootsInCode is non-zero. 112 // Also true if ScavengeRootsInCode is non-zero.
113 // If it does not have an encoding, the compiler is responsible for 113 // If it does not have an encoding, the compiler is responsible for
114 // making other arrangements for dealing with the oop. 114 // making other arrangements for dealing with the oop.
115 // See ciEnv::make_array 115 // See ciEnv::make_array
116 bool can_be_constant(); 116 bool can_be_constant();
117 117
118 // Tells if this oop should be made a constant. 118 // Tells if this oop should be made a constant.
119 // True if is_scavengable is false or ScavengeRootsInCode > 1. 119 // True if is_perm is true or ScavengeRootsInCode > 1.
120 bool should_be_constant(); 120 bool should_be_constant();
121 121
122 // Is this object guaranteed to be in the permanent part of the heap? 122 // Is this object guaranteed to be in the permanent part of the heap?
123 // If so, CollectedHeap::can_elide_permanent_oop_store_barriers is relevant. 123 // If so, CollectedHeap::can_elide_permanent_oop_store_barriers is relevant.
124 // If the answer is false, no guarantees are made. 124 // If the answer is false, no guarantees are made.