callGenerator.cpp revision 4022
1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A#include "precompiled.hpp"
1879N/A#include "ci/bcEscapeAnalyzer.hpp"
2677N/A#include "ci/ciCallSite.hpp"
1879N/A#include "ci/ciCPCache.hpp"
3932N/A#include "ci/ciMemberName.hpp"
1879N/A#include "ci/ciMethodHandle.hpp"
1879N/A#include "classfile/javaClasses.hpp"
1879N/A#include "compiler/compileLog.hpp"
1879N/A#include "opto/addnode.hpp"
1879N/A#include "opto/callGenerator.hpp"
1879N/A#include "opto/callnode.hpp"
1879N/A#include "opto/cfgnode.hpp"
1879N/A#include "opto/connode.hpp"
1879N/A#include "opto/rootnode.hpp"
1879N/A#include "opto/runtime.hpp"
1879N/A#include "opto/subnode.hpp"
0N/A float _expected_uses;
0N/A // Grab signature for matching/allocation
1080N/A bool _separate_io_proj;
4022N/A CallStaticJavaNode *call = new (kit.C) CallStaticJavaNode(tf(), target, method(), kit.bci());
0N/A int _vtable_index;
0N/A virtual bool is_virtual() const { return true; }
4022N/A CallDynamicJavaNode *call = new (kit.C) CallDynamicJavaNode(tf(), target, method(), _vtable_index, kit.bci());
1080N/A virtual bool is_late_inline() const { return true; }
1080N/A virtual void do_late_inline();
0N/A virtual bool is_deferred() const { return true; }
0N/A if (m->is_CallJava()) {
0N/A virtual bool is_virtual() const { return true; }
3932N/ACallGenerator* CallGenerator::for_method_handle_call(JVMState* jvms, ciMethod* caller, ciMethod* callee) {
3932N/ACallGenerator* CallGenerator::for_method_handle_inline(JVMState* jvms, ciMethod* caller, ciMethod* callee) {
3932N/A CallGenerator* cg = C->call_generator(target, vtable_index, false, jvms, true, PROB_ALWAYS);
3932N/A if (PrintInlining) CompileTask::print_inlining(callee, jvms->depth() - 1, jvms->bci(), "receiver not constant");