| 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 3211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3222 __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); | 3222 __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); |
| 3223 } | 3223 } |
| 3224 | 3224 |
| 3225 | 3225 |
| 3226 void ArgumentsAccessStub::GenerateNewNonStrictSlow(MacroAssembler* masm) { | 3226 void ArgumentsAccessStub::GenerateNewNonStrictSlow(MacroAssembler* masm) { |
| 3227 // Stack layout on entry. | 3227 // Stack layout on entry. |
| 3228 // jssp[0]: number of parameters (tagged) | 3228 // jssp[0]: number of parameters (tagged) |
| 3229 // jssp[8]: address of receiver argument | 3229 // jssp[8]: address of receiver argument |
| 3230 // jssp[16]: function | 3230 // jssp[16]: function |
| 3231 | 3231 |
| 3232 ASM_UNIMPLEMENTED("GenerateNewNonStrictSlow: This has not been tested."); | |
| 3233 | |
| 3234 // Check if the calling frame is an arguments adaptor frame. | 3232 // Check if the calling frame is an arguments adaptor frame. |
| 3235 Label runtime; | 3233 Label runtime; |
| 3236 Register caller_fp = x10; | 3234 Register caller_fp = x10; |
| 3237 __ Ldr(caller_fp, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); | 3235 __ Ldr(caller_fp, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); |
| 3238 // Load and untag the context. | 3236 // Load and untag the context. |
| 3239 STATIC_ASSERT((kSmiShift / kBitsPerByte) == 4); | 3237 STATIC_ASSERT((kSmiShift / kBitsPerByte) == 4); |
| 3240 __ Ldr(w11, MemOperand(caller_fp, StandardFrameConstants::kContextOffset + | 3238 __ Ldr(w11, MemOperand(caller_fp, StandardFrameConstants::kContextOffset + |
| 3241 (kSmiShift / kBitsPerByte))); | 3239 (kSmiShift / kBitsPerByte))); |
| 3242 __ Cmp(w11, StackFrame::ARGUMENTS_ADAPTOR); | 3240 __ Cmp(w11, StackFrame::ARGUMENTS_ADAPTOR); |
| 3243 __ B(ne, &runtime); | 3241 __ B(ne, &runtime); |
| (...skipping 3820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7064 __ Bind(&fast_elements_case); | 7062 __ Bind(&fast_elements_case); |
| 7065 GenerateCase(masm, FAST_ELEMENTS); | 7063 GenerateCase(masm, FAST_ELEMENTS); |
| 7066 } | 7064 } |
| 7067 | 7065 |
| 7068 | 7066 |
| 7069 #undef __ | 7067 #undef __ |
| 7070 | 7068 |
| 7071 } } // namespace v8::internal | 7069 } } // namespace v8::internal |
| 7072 | 7070 |
| 7073 #endif // V8_TARGET_ARCH_A64 | 7071 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |