mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI Remove assembly code for JDK 7 chained method handles Co-authored-by: John Rose <john.r.rose@oracle.com> Co-authored-by: Michael Haupt <michael.haupt@oracle.com> Reviewed-by: jrose, twisti, kvn, mhaupt
This commit is contained in:
parent
893817c28d
commit
12901d0e5b
181 changed files with 5760 additions and 14402 deletions
|
@ -137,12 +137,16 @@ void InstructionPrinter::print_object(Value obj) {
|
|||
ciMethod* m = (ciMethod*)value;
|
||||
output()->print("<method %s.%s>", m->holder()->name()->as_utf8(), m->name()->as_utf8());
|
||||
} else {
|
||||
output()->print("<object " PTR_FORMAT ">", value->constant_encoding());
|
||||
output()->print("<object " PTR_FORMAT " klass=", value->constant_encoding());
|
||||
print_klass(value->klass());
|
||||
output()->print(">");
|
||||
}
|
||||
} else if (type->as_InstanceConstant() != NULL) {
|
||||
ciInstance* value = type->as_InstanceConstant()->value();
|
||||
if (value->is_loaded()) {
|
||||
output()->print("<instance " PTR_FORMAT ">", value->constant_encoding());
|
||||
output()->print("<instance " PTR_FORMAT " klass=", value->constant_encoding());
|
||||
print_klass(value->klass());
|
||||
output()->print(">");
|
||||
} else {
|
||||
output()->print("<unloaded instance " PTR_FORMAT ">", value);
|
||||
}
|
||||
|
@ -453,6 +457,14 @@ void InstructionPrinter::do_NullCheck(NullCheck* x) {
|
|||
}
|
||||
|
||||
|
||||
void InstructionPrinter::do_TypeCast(TypeCast* x) {
|
||||
output()->print("type_cast(");
|
||||
print_value(x->obj());
|
||||
output()->print(") ");
|
||||
print_klass(x->declared_type()->klass());
|
||||
}
|
||||
|
||||
|
||||
void InstructionPrinter::do_Invoke(Invoke* x) {
|
||||
if (x->receiver() != NULL) {
|
||||
print_value(x->receiver());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue