| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 999 | 999 |
| 1000 // Clear the context before we push it when entering the JS frame. | 1000 // Clear the context before we push it when entering the JS frame. |
| 1001 __ mov(cp, Operand(0, RelocInfo::NONE)); | 1001 __ mov(cp, Operand(0, RelocInfo::NONE)); |
| 1002 | 1002 |
| 1003 // Enter an internal frame. | 1003 // Enter an internal frame. |
| 1004 __ EnterInternalFrame(); | 1004 __ EnterInternalFrame(); |
| 1005 | 1005 |
| 1006 // Set up the context from the function argument. | 1006 // Set up the context from the function argument. |
| 1007 __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); | 1007 __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); |
| 1008 | 1008 |
| 1009 // Set up the roots register. | 1009 __ InitializeRootRegister(); |
| 1010 ExternalReference roots_address = | |
| 1011 ExternalReference::roots_address(masm->isolate()); | |
| 1012 __ mov(r10, Operand(roots_address)); | |
| 1013 | 1010 |
| 1014 // Push the function and the receiver onto the stack. | 1011 // Push the function and the receiver onto the stack. |
| 1015 __ push(r1); | 1012 __ push(r1); |
| 1016 __ push(r2); | 1013 __ push(r2); |
| 1017 | 1014 |
| 1018 // Copy arguments to the stack in a loop. | 1015 // Copy arguments to the stack in a loop. |
| 1019 // r1: function | 1016 // r1: function |
| 1020 // r3: argc | 1017 // r3: argc |
| 1021 // r4: argv, i.e. points to first arg | 1018 // r4: argv, i.e. points to first arg |
| 1022 Label loop, entry; | 1019 Label loop, entry; |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1686 __ bind(&dont_adapt_arguments); | 1683 __ bind(&dont_adapt_arguments); |
| 1687 __ Jump(r3); | 1684 __ Jump(r3); |
| 1688 } | 1685 } |
| 1689 | 1686 |
| 1690 | 1687 |
| 1691 #undef __ | 1688 #undef __ |
| 1692 | 1689 |
| 1693 } } // namespace v8::internal | 1690 } } // namespace v8::internal |
| 1694 | 1691 |
| 1695 #endif // V8_TARGET_ARCH_ARM | 1692 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |