Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: src/arm/builtins-arm.cc

Issue 1481773003: [Proxies] Support constructable proxy as new.target (reland) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Diff with previous version Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/arm64/builtins-arm64.cc » ('j') | src/runtime/runtime-object.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_ARM 5 #if V8_TARGET_ARCH_ARM
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 1736 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 __ CallRuntime(Runtime::kThrowCalledNonCallable, 1); 1747 __ CallRuntime(Runtime::kThrowCalledNonCallable, 1);
1748 } 1748 }
1749 } 1749 }
1750 1750
1751 1751
1752 // static 1752 // static
1753 void Builtins::Generate_ConstructFunction(MacroAssembler* masm) { 1753 void Builtins::Generate_ConstructFunction(MacroAssembler* masm) {
1754 // ----------- S t a t e ------------- 1754 // ----------- S t a t e -------------
1755 // -- r0 : the number of arguments (not including the receiver) 1755 // -- r0 : the number of arguments (not including the receiver)
1756 // -- r1 : the constructor to call (checked to be a JSFunction) 1756 // -- r1 : the constructor to call (checked to be a JSFunction)
1757 // -- r3 : the new target (checked to be a JSFunction) 1757 // -- r3 : the new target (checked to be a constructor)
1758 // ----------------------------------- 1758 // -----------------------------------
1759 __ AssertFunction(r1); 1759 __ AssertFunction(r1);
1760 __ AssertFunction(r3);
1761 1760
1762 // Calling convention for function specific ConstructStubs require 1761 // Calling convention for function specific ConstructStubs require
1763 // r2 to contain either an AllocationSite or undefined. 1762 // r2 to contain either an AllocationSite or undefined.
1764 __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); 1763 __ LoadRoot(r2, Heap::kUndefinedValueRootIndex);
1765 1764
1766 // Tail call to the function-specific construct stub (still in the caller 1765 // Tail call to the function-specific construct stub (still in the caller
1767 // context at this point). 1766 // context at this point).
1768 __ ldr(r4, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); 1767 __ ldr(r4, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset));
1769 __ ldr(r4, FieldMemOperand(r4, SharedFunctionInfo::kConstructStubOffset)); 1768 __ ldr(r4, FieldMemOperand(r4, SharedFunctionInfo::kConstructStubOffset));
1770 __ add(pc, r4, Operand(Code::kHeaderSize - kHeapObjectTag)); 1769 __ add(pc, r4, Operand(Code::kHeaderSize - kHeapObjectTag));
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1975 } 1974 }
1976 } 1975 }
1977 1976
1978 1977
1979 #undef __ 1978 #undef __
1980 1979
1981 } // namespace internal 1980 } // namespace internal
1982 } // namespace v8 1981 } // namespace v8
1983 1982
1984 #endif // V8_TARGET_ARCH_ARM 1983 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « no previous file | src/arm64/builtins-arm64.cc » ('j') | src/runtime/runtime-object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698