| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 6695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6706 // function at a known address. | 6706 // function at a known address. |
| 6707 Address trampoline_address = reinterpret_cast<Address>( | 6707 Address trampoline_address = reinterpret_cast<Address>( |
| 6708 reinterpret_cast<intptr_t>(EntryHookTrampoline)); | 6708 reinterpret_cast<intptr_t>(EntryHookTrampoline)); |
| 6709 ApiFunction dispatcher(trampoline_address); | 6709 ApiFunction dispatcher(trampoline_address); |
| 6710 __ Mov(x10, Operand(ExternalReference(&dispatcher, | 6710 __ Mov(x10, Operand(ExternalReference(&dispatcher, |
| 6711 ExternalReference::BUILTIN_CALL, | 6711 ExternalReference::BUILTIN_CALL, |
| 6712 masm->isolate()))); | 6712 masm->isolate()))); |
| 6713 #endif | 6713 #endif |
| 6714 | 6714 |
| 6715 // The caller's return address is above the saved temporaries. | 6715 // The caller's return address is above the saved temporaries. |
| 6716 // Grab that for the second argument to the hook. | 6716 // Grab its location for the second argument to the hook. |
| 6717 __ Peek(x1, kNumSavedRegs * kPointerSize); | 6717 __ Add(x1, __ StackPointer(), kNumSavedRegs * kPointerSize); |
| 6718 | 6718 |
| 6719 { | 6719 { |
| 6720 // Create a dummy frame, as CallCFunction requires this. | 6720 // Create a dummy frame, as CallCFunction requires this. |
| 6721 FrameScope frame(masm, StackFrame::MANUAL); | 6721 FrameScope frame(masm, StackFrame::MANUAL); |
| 6722 __ CallCFunction(x10, 2, 0); | 6722 __ CallCFunction(x10, 2, 0); |
| 6723 } | 6723 } |
| 6724 | 6724 |
| 6725 __ Pop(x5, x1, lr); | 6725 __ Pop(x5, x1, lr); |
| 6726 __ Ret(); | 6726 __ Ret(); |
| 6727 } | 6727 } |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7340 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); | 7340 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); |
| 7341 } | 7341 } |
| 7342 } | 7342 } |
| 7343 | 7343 |
| 7344 | 7344 |
| 7345 #undef __ | 7345 #undef __ |
| 7346 | 7346 |
| 7347 } } // namespace v8::internal | 7347 } } // namespace v8::internal |
| 7348 | 7348 |
| 7349 #endif // V8_TARGET_ARCH_A64 | 7349 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |