Mercurial > hg > truffle
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. |