virtual JVMState* generate(JVMState* jvms) { JVMState* new_jvms = LateInlineCallGenerator::generate(jvms); Compile* C = Compile::current(); if (_input_not_const) { // inlining won't be possible so no need to enqueue right now. call_node()->set_generator(this); } else { C->add_late_inline(this); } return new_jvms; }
virtual JVMState* generate(JVMState* jvms, Parse* parent_parser) { Compile *C = Compile::current(); C->print_inlining_skip(this); // Record that this call site should be revisited once the main // parse is finished. if (!is_mh_late_inline()) { C->add_late_inline(this); } // Emit the CallStaticJava and request separate projections so // that the late inlining logic can distinguish between fall // through and exceptional uses of the memory and io projections // as is done for allocations and macro expansion. return DirectCallGenerator::generate(jvms, parent_parser); }