6829187: compiler optimizations required for JSR 292

C2 implementation for invokedynamic support.

Reviewed-by: kvn, never
This commit is contained in:
Christian Thalinger 2010-01-05 13:05:58 +01:00
parent 9be2e29930
commit 375527d84e
31 changed files with 566 additions and 89 deletions

View file

@ -131,6 +131,7 @@ public:
// What kind of ciObject is this?
virtual bool is_null_object() const { return false; }
virtual bool is_cpcache() const { return false; }
virtual bool is_instance() { return false; }
virtual bool is_method() { return false; }
virtual bool is_method_data() { return false; }
@ -185,6 +186,10 @@ public:
assert(is_null_object(), "bad cast");
return (ciNullObject*)this;
}
ciCPCache* as_cpcache() {
assert(is_cpcache(), "bad cast");
return (ciCPCache*) this;
}
ciInstance* as_instance() {
assert(is_instance(), "bad cast");
return (ciInstance*)this;