#include "asm_support.h"

#if defined(__APPLE__)
    // Mac OS X mangles the functions with an underscore prefix
    #define art_deliver_exception_from_code _art_deliver_exception_from_code
    #define art_proxy_invoke_handler _art_proxy_invoke_handler
    #define artDeliverExceptionFromCode _artDeliverExceptionFromCode
#endif

    /* Cache alignment for function entry */
.macro ALIGN_FUNCTION_ENTRY
    .balign 16
.endm

    /*
     * Macro that sets up the callee save frame to conform with
     * Runtime::CreateCalleeSaveMethod(...)
     */
.macro SETUP_SAVE_ALL_CALLEE_SAVE_FRAME
    pushl %edi  // Save callee saves (ebx is saved/restored by the upcall)
    pushl %esi
    pushl %ebp
    subl  $16, %esp  // Grow stack by 4 words, bottom word will hold Method*
.endm

.macro RESTORE_CALLEE_SAVE_FRAME
    addl $16, %esp  // Remove padding
    popl %ebp  // Restore callee saves
    popl %esi
    popl %edi
.endm

    /*
     * Macro that sets up the callee save frame to conform with
     * Runtime::CreateCalleeSaveMethod(...)
     */
.macro SETUP_REF_AND_ARG_CALLEE_SAVE_FRAME
    pushl %edi  // Save callee saves
    pushl %esi
    pushl %ebp
    pushl %ebx  // Save args
    pushl %edx
    pushl %ecx
    pushl %eax  // Align stack, eax will be clobbered by Method*
.endm

.macro RESTORE_REF_AND_ARG_CALLEE_SAVE_FRAME
    addl $16, %esp  // Remove padding
    popl %ebp  // Restore callee saves
    popl %esi
    popl %edi
.endm

    /*
     * Macro that set calls through to artDeliverPendingExceptionFromCode, where the pending
     * exception is Thread::Current()->exception_.
     */
.macro DELIVER_PENDING_EXCEPTION
    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME         // save callee saves for throw
    mov %esp, %ecx
    // Outgoing argument set up
    subl  $8, %esp                           // Alignment padding
    pushl %ecx                               // pass SP
    pushl %fs:THREAD_SELF_OFFSET             // pass Thread::Current()
    call artDeliverPendingExceptionFromCode  // artDeliverExceptionFromCode(Thread*, SP)
    int3
.endm

.macro NO_ARG_RUNTIME_EXCEPTION c_name, cxx_name
    .globl \c_name
    ALIGN_FUNCTION_ENTRY
\c_name:
    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME  // save all registers as basis for long jump context
    mov %esp, %ecx
    // Outgoing argument set up
    subl  $8, %esp                // alignment padding
    pushl %fs:THREAD_SELF_OFFSET  // pass Thread::Current()
    pushl %ecx                    // pass SP
    call \cxx_name                // \cxx_name(Thread*, SP)
    int3                          // unreached
.endm

.macro ONE_ARG_RUNTIME_EXCEPTION c_name, cxx_name
    .globl \c_name
    ALIGN_FUNCTION_ENTRY
\c_name:
    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME  // save all registers as basis for long jump context
    mov %esp, %ecx
    // Outgoing argument set up
    pushl $0                      // alignment padding
    pushl %ecx                    // pass SP
    pushl %fs:THREAD_SELF_OFFSET  // pass Thread::Current()
    pushl %eax                    // pass arg1
    call \cxx_name                // \cxx_name(arg1, Thread*, SP)
    int3                          // unreached
.endm

.macro TWO_ARG_RUNTIME_EXCEPTION c_name, cxx_name
    .globl \c_name
    ALIGN_FUNCTION_ENTRY
\c_name:
    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME  // save all registers as basis for long jump context
    mov %esp, %edx
    // Outgoing argument set up
    pushl %edx                    // pass SP
    pushl %fs:THREAD_SELF_OFFSET  // pass Thread::Current()
    pushl %eax                    // pass arg1
    pushl %ecx                    // pass arg2
    call \cxx_name                // \cxx_name(arg1, Thread*, SP)
    int3                          // unreached
.endm

    /*
     * Called by managed code, saves callee saves and then calls artThrowException
     * that will place a mock Method* at the bottom of the stack. Arg1 holds the exception.
     */
ONE_ARG_RUNTIME_EXCEPTION art_deliver_exception_from_code, artDeliverExceptionFromCode

    /*
     * Called by managed code to create and deliver a NullPointerException.
     */
NO_ARG_RUNTIME_EXCEPTION art_throw_null_pointer_exception_from_code, artThrowNullPointerExceptionFromCode

    /*
     * Called by managed code to create and deliver an ArithmeticException.
     */
NO_ARG_RUNTIME_EXCEPTION art_throw_div_zero_from_code, artThrowDivZeroFromCode

    /*
     * Called by managed code to create and deliver an ArrayIndexOutOfBoundsException. Arg1 holds
     * index, arg2 holds limit.
     */
TWO_ARG_RUNTIME_EXCEPTION art_throw_array_bounds_from_code, artThrowArrayBoundsFromCode

    /*
     * Called by managed code to create and deliver a StackOverflowError.
     */
NO_ARG_RUNTIME_EXCEPTION art_throw_stack_overflow_from_code, artThrowStackOverflowFromCode

    /*
     * Called by managed code to create and deliver a NoSuchMethodError.
     */
ONE_ARG_RUNTIME_EXCEPTION art_throw_no_such_method_from_code, artThrowNoSuchMethodFromCode

    /*
     * Called by managed code to create and deliver verification errors. Arg1 is kind, arg2 is ref.
     */
TWO_ARG_RUNTIME_EXCEPTION art_throw_verification_error_from_code, artThrowVerificationErrorFromCode

    /*
     * All generated callsites for interface invokes and invocation slow paths will load arguments
     * as usual - except instead of loading arg0/r0 with the target Method*, arg0/r0 will contain
     * the method_idx.  This wrapper will save arg1-arg3, load the caller's Method*, align the
     * stack and call the appropriate C helper.
     * NOTE: "this" is first visible argument of the target, and so can be found in arg1/r1.
     *
     * The helper will attempt to locate the target and return a 64-bit result in r0/r1 consisting
     * of the target Method* in r0 and method->code_ in r1.
     *
     * If unsuccessful, the helper will return NULL/NULL. There will bea pending exception in the
     * thread and we branch to another stub to deliver it.
     *
     * On success this wrapper will restore arguments and *jump* to the target, leaving the lr
     * pointing back to the original caller.
     */
.macro INVOKE_TRAMPOLINE c_name, cxx_name
    .globl \c_name
    ALIGN_FUNCTION_ENTRY
\c_name:
    int3
.endm

INVOKE_TRAMPOLINE art_invoke_interface_trampoline, artInvokeInterfaceTrampoline
INVOKE_TRAMPOLINE art_invoke_interface_trampoline_with_access_check, artInvokeInterfaceTrampolineWithAccessCheck

INVOKE_TRAMPOLINE art_invoke_static_trampoline_with_access_check, artInvokeStaticTrampolineWithAccessCheck
INVOKE_TRAMPOLINE art_invoke_direct_trampoline_with_access_check, artInvokeDirectTrampolineWithAccessCheck
INVOKE_TRAMPOLINE art_invoke_super_trampoline_with_access_check, artInvokeSuperTrampolineWithAccessCheck
INVOKE_TRAMPOLINE art_invoke_virtual_trampoline_with_access_check, artInvokeVirtualTrampolineWithAccessCheck

    // TODO
    .globl art_proxy_invoke_handler
art_proxy_invoke_handler:
    int3

    .globl art_update_debugger
art_update_debugger:
    int3

   .globl art_test_suspend
art_test_suspend:
    int3

   .globl art_alloc_object_from_code
art_alloc_object_from_code:
    int3

   .globl art_alloc_object_from_code_with_access_check
art_alloc_object_from_code_with_access_check:
    int3

   .globl art_alloc_array_from_code
art_alloc_array_from_code:
    int3

   .globl art_alloc_array_from_code_with_access_check
art_alloc_array_from_code_with_access_check:
    int3

   .globl art_check_and_alloc_array_from_code
art_check_and_alloc_array_from_code:
    int3

   .globl art_check_and_alloc_array_from_code_with_access_check
art_check_and_alloc_array_from_code_with_access_check:
    int3

   .globl art_can_put_array_element_from_code
art_can_put_array_element_from_code:
    int3

   .globl art_check_cast_from_code
art_check_cast_from_code:
    int3

   .globl art_initialize_static_storage_from_code
art_initialize_static_storage_from_code:
    int3

   .globl art_initialize_type_and_verify_access_from_code
art_initialize_type_and_verify_access_from_code:
    int3

   .globl art_initialize_type_from_code
art_initialize_type_from_code:
    int3

   .globl art_resolve_string_from_code
art_resolve_string_from_code:
    int3

   .globl art_set32_instance_from_code
art_set32_instance_from_code:
    int3

   .globl art_set64_instance_from_code
art_set64_instance_from_code:
    int3

   .globl art_set_obj_instance_from_code
art_set_obj_instance_from_code:
    int3

   .globl art_get32_instance_from_code
art_get32_instance_from_code:
    int3

   .globl art_get64_instance_from_code
art_get64_instance_from_code:
    int3

   .globl art_get_obj_instance_from_code
art_get_obj_instance_from_code:
    int3

   .globl art_set32_static_from_code
art_set32_static_from_code:
    int3

   .globl art_set64_static_from_code
art_set64_static_from_code:
    int3

   .globl art_set_obj_static_from_code
art_set_obj_static_from_code:
    int3

   .globl art_get32_static_from_code
art_get32_static_from_code:
    int3

   .globl art_get64_static_from_code
art_get64_static_from_code:
    int3

   .globl art_get_obj_static_from_code
art_get_obj_static_from_code:
    int3

    .globl art_handle_fill_data_from_code
art_handle_fill_data_from_code:
    int3

    .globl art_lock_object_from_code
art_lock_object_from_code:
    int3

    .globl art_unlock_object_from_code
art_unlock_object_from_code:
    int3

    .globl art_indexof
art_indexof:
    int3

    .globl __memcmp16
__memcmp16:
    int3

    .globl art_string_compareto
art_string_compareto:
    int3
