Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciObject.hpp @ 1138:dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 15:21:25 +0100 |
parents | 97125851f396 |
children | 35069ca331f2 c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1137:97125851f396 | 1138:dd57230ba8fe |
---|---|
129 // be registered with the oopRecorder. | 129 // be registered with the oopRecorder. |
130 jobject constant_encoding(); | 130 jobject constant_encoding(); |
131 | 131 |
132 // What kind of ciObject is this? | 132 // What kind of ciObject is this? |
133 virtual bool is_null_object() const { return false; } | 133 virtual bool is_null_object() const { return false; } |
134 virtual bool is_call_site() const { return false; } | |
134 virtual bool is_cpcache() const { return false; } | 135 virtual bool is_cpcache() const { return false; } |
135 virtual bool is_instance() { return false; } | 136 virtual bool is_instance() { return false; } |
136 virtual bool is_method() { return false; } | 137 virtual bool is_method() { return false; } |
137 virtual bool is_method_data() { return false; } | 138 virtual bool is_method_data() { return false; } |
139 virtual bool is_method_handle() const { return false; } | |
138 virtual bool is_array() { return false; } | 140 virtual bool is_array() { return false; } |
139 virtual bool is_obj_array() { return false; } | 141 virtual bool is_obj_array() { return false; } |
140 virtual bool is_type_array() { return false; } | 142 virtual bool is_type_array() { return false; } |
141 virtual bool is_symbol() { return false; } | 143 virtual bool is_symbol() { return false; } |
142 virtual bool is_type() { return false; } | 144 virtual bool is_type() { return false; } |
184 // Subclass casting with assertions. | 186 // Subclass casting with assertions. |
185 ciNullObject* as_null_object() { | 187 ciNullObject* as_null_object() { |
186 assert(is_null_object(), "bad cast"); | 188 assert(is_null_object(), "bad cast"); |
187 return (ciNullObject*)this; | 189 return (ciNullObject*)this; |
188 } | 190 } |
191 ciCallSite* as_call_site() { | |
192 assert(is_call_site(), "bad cast"); | |
193 return (ciCallSite*) this; | |
194 } | |
189 ciCPCache* as_cpcache() { | 195 ciCPCache* as_cpcache() { |
190 assert(is_cpcache(), "bad cast"); | 196 assert(is_cpcache(), "bad cast"); |
191 return (ciCPCache*) this; | 197 return (ciCPCache*) this; |
192 } | 198 } |
193 ciInstance* as_instance() { | 199 ciInstance* as_instance() { |
200 } | 206 } |
201 ciMethodData* as_method_data() { | 207 ciMethodData* as_method_data() { |
202 assert(is_method_data(), "bad cast"); | 208 assert(is_method_data(), "bad cast"); |
203 return (ciMethodData*)this; | 209 return (ciMethodData*)this; |
204 } | 210 } |
211 ciMethodHandle* as_method_handle() { | |
212 assert(is_method_handle(), "bad cast"); | |
213 return (ciMethodHandle*) this; | |
214 } | |
205 ciArray* as_array() { | 215 ciArray* as_array() { |
206 assert(is_array(), "bad cast"); | 216 assert(is_array(), "bad cast"); |
207 return (ciArray*)this; | 217 return (ciArray*)this; |
208 } | 218 } |
209 ciObjArray* as_obj_array() { | 219 ciObjArray* as_obj_array() { |