Package com.headius.invokebinder

Examples of com.headius.invokebinder.Signature.type()


    private void emitWithSignatures(IRMethod method, String name) {
        method.setJittedName(name);

        Signature signature = signatureFor(method, false);
        emitScope(method, name, signature, false);
        method.addNativeSignature(-1, signature.type());

        Signature specificSig = signatureFor(method, true);
        if (specificSig != null) {
            emitScope(method, name, specificSig, true);
            method.addNativeSignature(method.getStaticScope().getRequiredArgs(), specificSig.type());
View Full Code Here


        method.addNativeSignature(-1, signature.type());

        Signature specificSig = signatureFor(method, true);
        if (specificSig != null) {
            emitScope(method, name, specificSig, true);
            method.addNativeSignature(method.getStaticScope().getRequiredArgs(), specificSig.type());
        }
    }

    public Handle emitModuleBodyJIT(IRModuleBody method) {
        String baseName = method.getName() + "_" + methodIndex++;
View Full Code Here

        jvm.pushscript(clsName, method.getFileName());

        Signature signature = signatureFor(method, false);
        emitScope(method, "__script__", signature, false);

        Handle handle = new Handle(Opcodes.H_INVOKESTATIC, jvm.clsData().clsName, name, sig(signature.type().returnType(), signature.type().parameterArray()));

        jvm.cls().visitEnd();
        jvm.popclass();

        return handle;
View Full Code Here

        jvm.pushscript(clsName, method.getFileName());

        Signature signature = signatureFor(method, false);
        emitScope(method, "__script__", signature, false);

        Handle handle = new Handle(Opcodes.H_INVOKESTATIC, jvm.clsData().clsName, name, sig(signature.type().returnType(), signature.type().parameterArray()));

        jvm.cls().visitEnd();
        jvm.popclass();

        return handle;
View Full Code Here

        }

        Signature signature = signatureFor(method, false);
        emitScope(method, name, signature, false);

        return new Handle(Opcodes.H_INVOKESTATIC, jvm.clsData().clsName, name, sig(signature.type().returnType(), signature.type().parameterArray()));
    }

    public void visit(Instr instr) {
        if (DEBUG) { // debug will skip emitting actual file line numbers
            jvmAdapter().line(instr.getIPC());
View Full Code Here

        }

        Signature signature = signatureFor(method, false);
        emitScope(method, name, signature, false);

        return new Handle(Opcodes.H_INVOKESTATIC, jvm.clsData().clsName, name, sig(signature.type().returnType(), signature.type().parameterArray()));
    }

    public void visit(Instr instr) {
        if (DEBUG) { // debug will skip emitting actual file line numbers
            jvmAdapter().line(instr.getIPC());
View Full Code Here

            } else {
                target = fullSig.permute("self", "arg*");
            }
        }

        nativeTarget = explicitCastArguments(nativeTarget, target.type());
        nativeTarget = permuteArguments(nativeTarget, fullSig.type(), fullSig.to(target));

        nativeTarget = wrapWithFraming(fullSig, method.getCallConfig(), method.getImplementationClass(), name, nativeTarget, null);

        method.setHandle(nativeTarget);
View Full Code Here

           
            if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(site.name() + "\tbound from MHDynMethod " + logMethod(method) + ":" + handle);
           
            Signature fullSig = site.fullSignature();
            MethodHandle nativeTarget =  Binder
                    .from(fullSig.type())
                    .permute(fullSig.to("context", "self", "arg*", "block"))
                    .invoke(handle);
            nativeTarget = addOrRemoveBlock(site, nativeTarget);
           
            return nativeTarget;           
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.