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

Side by Side Diff: src/ia32/macro-assembler-ia32.cc

Issue 1550923002: Remove uses of result size in TailCallRuntime and friends (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: change spaces Created 4 years, 11 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/ia32/macro-assembler-ia32.h ('k') | src/ic/arm/handler-compiler-arm.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 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_IA32 5 #if V8_TARGET_ARCH_IA32
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/division-by-constant.h" 8 #include "src/base/division-by-constant.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 1883 matching lines...) Expand 10 before | Expand all | Expand 10 after
1894 int num_arguments) { 1894 int num_arguments) {
1895 mov(eax, Immediate(num_arguments)); 1895 mov(eax, Immediate(num_arguments));
1896 mov(ebx, Immediate(ref)); 1896 mov(ebx, Immediate(ref));
1897 1897
1898 CEntryStub stub(isolate(), 1); 1898 CEntryStub stub(isolate(), 1);
1899 CallStub(&stub); 1899 CallStub(&stub);
1900 } 1900 }
1901 1901
1902 1902
1903 void MacroAssembler::TailCallExternalReference(const ExternalReference& ext, 1903 void MacroAssembler::TailCallExternalReference(const ExternalReference& ext,
1904 int num_arguments, 1904 int num_arguments) {
1905 int result_size) {
1906 // TODO(1236192): Most runtime routines don't need the number of 1905 // TODO(1236192): Most runtime routines don't need the number of
1907 // arguments passed in because it is constant. At some point we 1906 // arguments passed in because it is constant. At some point we
1908 // should remove this need and make the runtime routine entry code 1907 // should remove this need and make the runtime routine entry code
1909 // smarter. 1908 // smarter.
1910 Move(eax, Immediate(num_arguments)); 1909 Move(eax, Immediate(num_arguments));
1911 JumpToExternalReference(ext); 1910 JumpToExternalReference(ext);
1912 } 1911 }
1913 1912
1914 1913
1915 void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid, 1914 void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid,
1916 int num_arguments, 1915 int num_arguments) {
1917 int result_size) { 1916 TailCallExternalReference(ExternalReference(fid, isolate()), num_arguments);
1918 TailCallExternalReference(ExternalReference(fid, isolate()),
1919 num_arguments,
1920 result_size);
1921 } 1917 }
1922 1918
1923 1919
1924 void MacroAssembler::JumpToExternalReference(const ExternalReference& ext) { 1920 void MacroAssembler::JumpToExternalReference(const ExternalReference& ext) {
1925 // Set the entry point and jump to the C entry runtime stub. 1921 // Set the entry point and jump to the C entry runtime stub.
1926 mov(ebx, Immediate(ext)); 1922 mov(ebx, Immediate(ext));
1927 CEntryStub ces(isolate(), 1); 1923 CEntryStub ces(isolate(), 1);
1928 jmp(ces.GetCode(), RelocInfo::CODE_TARGET); 1924 jmp(ces.GetCode(), RelocInfo::CODE_TARGET);
1929 } 1925 }
1930 1926
(...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after
3093 mov(eax, dividend); 3089 mov(eax, dividend);
3094 shr(eax, 31); 3090 shr(eax, 31);
3095 add(edx, eax); 3091 add(edx, eax);
3096 } 3092 }
3097 3093
3098 3094
3099 } // namespace internal 3095 } // namespace internal
3100 } // namespace v8 3096 } // namespace v8
3101 3097
3102 #endif // V8_TARGET_ARCH_IA32 3098 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/macro-assembler-ia32.h ('k') | src/ic/arm/handler-compiler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698