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

Side by Side Diff: src/builtins.cc

Issue 1698273003: [es6] [interpreter] Add tail calls support to Ignition. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@tco-turbo-2
Patch Set: Decreased number of iterations to fix timeouts Created 4 years, 10 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
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 #include "src/builtins.h" 5 #include "src/builtins.h"
6 6
7 #include "src/api.h" 7 #include "src/api.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/arguments.h" 9 #include "src/arguments.h"
10 #include "src/base/once.h" 10 #include "src/base/once.h"
(...skipping 3887 matching lines...) Expand 10 before | Expand all | Expand 10 after
3898 switch (tail_call_mode) { 3898 switch (tail_call_mode) {
3899 case TailCallMode::kDisallow: 3899 case TailCallMode::kDisallow:
3900 return CallBoundFunction(); 3900 return CallBoundFunction();
3901 case TailCallMode::kAllow: 3901 case TailCallMode::kAllow:
3902 return TailCallBoundFunction(); 3902 return TailCallBoundFunction();
3903 } 3903 }
3904 UNREACHABLE(); 3904 UNREACHABLE();
3905 return Handle<Code>::null(); 3905 return Handle<Code>::null();
3906 } 3906 }
3907 3907
3908 Handle<Code> Builtins::InterpreterPushArgsAndCall(TailCallMode tail_call_mode) {
3909 switch (tail_call_mode) {
3910 case TailCallMode::kDisallow:
3911 return InterpreterPushArgsAndCall();
3912 case TailCallMode::kAllow:
3913 return InterpreterPushArgsAndTailCall();
3914 }
3915 UNREACHABLE();
3916 return Handle<Code>::null();
3917 }
3908 3918
3909 namespace { 3919 namespace {
3910 3920
3911 class RelocatableArguments 3921 class RelocatableArguments
3912 : public BuiltinArguments<BuiltinExtraArguments::kTarget>, 3922 : public BuiltinArguments<BuiltinExtraArguments::kTarget>,
3913 public Relocatable { 3923 public Relocatable {
3914 public: 3924 public:
3915 RelocatableArguments(Isolate* isolate, int length, Object** arguments) 3925 RelocatableArguments(Isolate* isolate, int length, Object** arguments)
3916 : BuiltinArguments<BuiltinExtraArguments::kTarget>(length, arguments), 3926 : BuiltinArguments<BuiltinExtraArguments::kTarget>(length, arguments),
3917 Relocatable(isolate) {} 3927 Relocatable(isolate) {}
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
4377 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) 4387 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C)
4378 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) 4388 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A)
4379 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) 4389 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
4380 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) 4390 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
4381 #undef DEFINE_BUILTIN_ACCESSOR_C 4391 #undef DEFINE_BUILTIN_ACCESSOR_C
4382 #undef DEFINE_BUILTIN_ACCESSOR_A 4392 #undef DEFINE_BUILTIN_ACCESSOR_A
4383 4393
4384 4394
4385 } // namespace internal 4395 } // namespace internal
4386 } // namespace v8 4396 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins.h ('k') | src/code-factory.h » ('j') | src/interpreter/bytecode-array-builder.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698