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

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

Issue 1353723002: [runtime] Initial step towards switching Execution::Call to callable. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Handle sloppy mode api functions correctly. Created 5 years, 3 months 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 | « src/arm/builtins-arm.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_ARM64 5 #if V8_TARGET_ARCH_ARM64
6 6
7 #include "src/arm64/frames-arm64.h" 7 #include "src/arm64/frames-arm64.h"
8 #include "src/codegen.h" 8 #include "src/codegen.h"
9 #include "src/debug/debug.h" 9 #include "src/debug/debug.h"
10 #include "src/deoptimizer.h" 10 #include "src/deoptimizer.h"
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 // x29 : frame pointer (fp). 828 // x29 : frame pointer (fp).
829 829
830 __ Mov(x0, argc); 830 __ Mov(x0, argc);
831 if (is_construct) { 831 if (is_construct) {
832 // No type feedback cell is available. 832 // No type feedback cell is available.
833 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); 833 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex);
834 834
835 CallConstructStub stub(masm->isolate(), NO_CALL_CONSTRUCTOR_FLAGS); 835 CallConstructStub stub(masm->isolate(), NO_CALL_CONSTRUCTOR_FLAGS);
836 __ CallStub(&stub); 836 __ CallStub(&stub);
837 } else { 837 } else {
838 ParameterCount actual(x0); 838 __ Call(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET);
839 __ InvokeFunction(function, actual, CALL_FUNCTION, NullCallWrapper());
840 } 839 }
841 // Exit the JS internal frame and remove the parameters (except function), 840 // Exit the JS internal frame and remove the parameters (except function),
842 // and return. 841 // and return.
843 } 842 }
844 843
845 // Result is in x0. Return. 844 // Result is in x0. Return.
846 __ Ret(); 845 __ Ret();
847 } 846 }
848 847
849 848
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
1879 } 1878 }
1880 } 1879 }
1881 1880
1882 1881
1883 #undef __ 1882 #undef __
1884 1883
1885 } // namespace internal 1884 } // namespace internal
1886 } // namespace v8 1885 } // namespace v8
1887 1886
1888 #endif // V8_TARGET_ARCH_ARM 1887 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698