< prev index next > src/hotspot/share/c1/c1_InstructionPrinter.cpp
Print this page
#include "precompiled.hpp"
#include "classfile/vmSymbols.hpp"
#include "c1/c1_InstructionPrinter.hpp"
#include "c1/c1_ValueStack.hpp"
#include "ci/ciArray.hpp"
+ #include "ci/ciInlineKlass.hpp"
#include "ci/ciInstance.hpp"
#include "ci/ciObject.hpp"
#ifndef PRODUCT
}
void InstructionPrinter::do_LoadIndexed(LoadIndexed* x) {
print_indexed(x);
! output()->print(" (%c)", type2char(x->elt_type()));
if (x->check_flag(Instruction::NeedsRangeCheckFlag)) {
output()->print(" [rc]");
}
}
}
void InstructionPrinter::do_LoadIndexed(LoadIndexed* x) {
print_indexed(x);
! if (x->delayed() != nullptr) {
+ output()->print(" +%d", x->delayed()->offset());
+ output()->print(" (%c)", type2char(x->delayed()->field()->type()->basic_type()));
+ } else {
+ output()->print(" (%c)", type2char(x->elt_type()));
+ }
if (x->check_flag(Instruction::NeedsRangeCheckFlag)) {
output()->print(" [rc]");
}
}
output()->print("new %s array [", basic_type_name(x->elt_type()));
print_value(x->length());
output()->put(']');
}
-
void InstructionPrinter::do_NewObjectArray(NewObjectArray* x) {
output()->print("new object array [");
print_value(x->length());
output()->print("] ");
print_klass(x->klass());
}
output()->print("] ");
print_klass(x->klass());
}
-
void InstructionPrinter::do_MonitorEnter(MonitorEnter* x) {
output()->print("enter ");
print_monitor(x);
}
output()->print("profile ret type ");
print_value(x->ret());
output()->print(" %s.%s", x->method()->holder()->name()->as_utf8(), x->method()->name()->as_utf8());
output()->put(')');
}
+
void InstructionPrinter::do_ProfileInvoke(ProfileInvoke* x) {
output()->print("profile_invoke ");
output()->print(" %s.%s", x->inlinee()->holder()->name()->as_utf8(), x->inlinee()->name()->as_utf8());
output()->put(')');
}
+ void InstructionPrinter::do_ProfileACmpTypes(ProfileACmpTypes* x) {
+ output()->print("profile acmp types ");
+ print_value(x->left());
+ output()->print(", ");
+ print_value(x->right());
+ }
+
void InstructionPrinter::do_RuntimeCall(RuntimeCall* x) {
output()->print("call_rt %s(", x->entry_name());
for (int i = 0; i < x->number_of_arguments(); i++) {
if (i > 0) output()->print(", ");
print_value(x->argument_at(i));
< prev index next >