Package jnr.x86asm

Examples of jnr.x86asm.Assembler.call()


        // Clear %rax, since it is used by varargs functions to determine the number of float registers to be saved
        a.mov(rax, imm(0));

        // Call to the actual native function
        a.call(imm(function.getFunctionAddress()));

        if (saveErrno) {
            // Save the return on the stack
            switch (resultType.nativeType) {
                case VOID:
View Full Code Here


                default:
                    a.mov(qword_ptr(rsp, 0), rax);
            }

            // Save the errno in a thread-local variable
            a.call(imm(errnoFunctionAddress));

            // Retrieve return value and put it back in the appropriate return register
            switch (resultType.nativeType) {
                case VOID:
                    // No need to save/reload return value registers
View Full Code Here

            srcoff += srcParameterSize;
        }


        // Call to the actual native function
        a.call(imm(function.getFunctionAddress() & 0xffffffffL));
       
        if (saveErrno) {
            int save = 0;
            switch (resultType.nativeType) {
                case FLOAT:
View Full Code Here

                default:
                    a.mov(dword_ptr(esp, save), eax);
            }

            // Save the errno in a thread-local variable
            a.call(imm(errnoFunctionAddress & 0xffffffffL));

            // Retrieve return value and put it back in the appropriate return register
            switch (resultType.nativeType) {
                case FLOAT:
                    a.fld(dword_ptr(esp, save));
View Full Code Here

        // Clear %rax, since it is used by varargs functions to determine the number of float registers to be saved
        a.mov(rax, imm(0));

        // Call to the actual native function
        a.call(imm(function.getFunctionAddress()));

        if (saveErrno) {
            // Save the return on the stack
            switch (resultType.nativeType) {
                case VOID:
View Full Code Here

                default:
                    a.mov(qword_ptr(rsp, 0), rax);
            }

            // Save the errno in a thread-local variable
            a.call(imm(errnoFunctionAddress));

            // Retrieve return value and put it back in the appropriate return register
            switch (resultType.nativeType) {
                case VOID:
                    // No need to save/reload return value registers
View Full Code Here

            srcoff += srcParameterSize;
        }


        // Call to the actual native function
        a.call(imm(function.getFunctionAddress() & 0xffffffffL));
       
        if (saveErrno) {
            int save = 0;
            switch (resultType.nativeType) {
                case FLOAT:
View Full Code Here

                default:
                    a.mov(dword_ptr(esp, save), eax);
            }

            // Save the errno in a thread-local variable
            a.call(imm(errnoFunctionAddress & 0xffffffffL));

            // Retrieve return value and put it back in the appropriate return register
            switch (resultType.nativeType) {
                case FLOAT:
                    a.fld(dword_ptr(esp, save));
View Full Code Here

            srcoff += srcParameterSize;
        }


        // Call to the actual native function
        a.call(imm(function.getFunctionAddress() & 0xffffffffL));
       
        if (saveErrno) {
            int save = 0;
            switch (resultType.getNativeType()) {
                case FLOAT:
View Full Code Here

                default:
                    a.mov(dword_ptr(esp, save), eax);
            }

            // Save the errno in a thread-local variable
            a.call(imm(errnoFunctionAddress & 0xffffffffL));

            // Retrieve return value and put it back in the appropriate return register
            switch (resultType.getNativeType()) {
                case FLOAT:
                    a.fld(dword_ptr(esp, save));
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.