< prev index next >

src/java.base/share/classes/java/lang/invoke/LambdaForm.java

Print this page

        

*** 629,639 **** * before invocation. * (In principle, the JVM could do this very lazily, * as a sort of pre-invocation linkage step.) */ public void prepare() { ! if (COMPILE_THRESHOLD == 0) { compileToBytecode(); } if (this.vmentry != null) { // already prepared (e.g., a primitive DMH invoker form) return; --- 629,639 ---- * before invocation. * (In principle, the JVM could do this very lazily, * as a sort of pre-invocation linkage step.) */ public void prepare() { ! if (COMPILE_THRESHOLD == 0 && !isCompiled) { compileToBytecode(); } if (this.vmentry != null) { // already prepared (e.g., a primitive DMH invoker form) return;
*** 643,657 **** // TO DO: Maybe add invokeGeneric, invokeWithArguments } /** Generate optimizable bytecode for this form. */ MemberName compileToBytecode() { - MethodType invokerType = methodType(); - assert(vmentry == null || vmentry.getMethodType().basicType().equals(invokerType)); if (vmentry != null && isCompiled) { return vmentry; // already compiled somehow } try { vmentry = InvokerBytecodeGenerator.generateCustomizedCode(this, invokerType); if (TRACE_INTERPRETER) traceInterpreter("compileToBytecode", this); isCompiled = true; --- 643,657 ---- // TO DO: Maybe add invokeGeneric, invokeWithArguments } /** Generate optimizable bytecode for this form. */ MemberName compileToBytecode() { if (vmentry != null && isCompiled) { return vmentry; // already compiled somehow } + MethodType invokerType = methodType(); + assert(vmentry == null || vmentry.getMethodType().basicType().equals(invokerType)); try { vmentry = InvokerBytecodeGenerator.generateCustomizedCode(this, invokerType); if (TRACE_INTERPRETER) traceInterpreter("compileToBytecode", this); isCompiled = true;
< prev index next >