Chromium Code Reviews| Index: src/builtins/builtins-console-gen.cc |
| diff --git a/src/builtins/builtins-console-gen.cc b/src/builtins/builtins-console-gen.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1d0adaaceca4e21318b3da3916c78f16e1a1f5d6 |
| --- /dev/null |
| +++ b/src/builtins/builtins-console-gen.cc |
| @@ -0,0 +1,37 @@ |
| +// Copyright 2017 the V8 project authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "src/builtins/builtins-utils-gen.h" |
| +#include "src/builtins/builtins.h" |
| +#include "src/code-stub-assembler.h" |
| + |
| +namespace v8 { |
| +namespace internal { |
| + |
| +TF_BUILTIN(FastConsoleAssert, CodeStubAssembler) { |
| + Label runtime(this); |
| + Label out(this); |
| + |
| + // TODO(ishell): use constants from Descriptor once the JSFunction linkage |
| + // arguments are reordered. |
| + Node* argc = Parameter(BuiltinDescriptor::kArgumentsCount); |
| + Node* context = Parameter(BuiltinDescriptor::kContext); |
| + Node* new_target = Parameter(BuiltinDescriptor::kNewTarget); |
| + |
| + CodeStubArguments args(this, ChangeInt32ToIntPtr(argc)); |
| + GotoIf(WordEqual(argc, IntPtrConstant(0)), &runtime); |
|
Igor Sheludko
2017/04/20 10:18:42
argc is an int32, so the graph verifier will compl
kozy
2017/04/20 15:14:54
Done.
|
| + BranchIfToBooleanIsTrue(args.AtIndex(0), &out, &runtime); |
| + BIND(&out); |
| + { args.PopAndReturn(UndefinedConstant()); } |
|
Igor Sheludko
2017/04/20 10:18:42
Please remove {} and add an empty line after this
kozy
2017/04/20 15:14:54
Done.
|
| + BIND(&runtime); |
| + { |
| + Node* target = LoadFromFrame(StandardFrameConstants::kFunctionOffset, |
| + MachineType::TaggedPointer()); |
| + TailCallStub(CodeFactory::ConsoleAssert(isolate()), context, target, |
|
Igor Sheludko
2017/04/20 10:18:42
It's simplier to use TailCallBuiltin().
kozy
2017/04/20 15:14:54
I couldn't find TailCallBuiltin in code-assembler,
Igor Sheludko
2017/04/20 15:20:10
I'm sorry. Please add CSA::TailCallBuiltin(), see
|
| + new_target, argc); |
| + } |
| +} |
| + |
| +} // namespace internal |
| +} // namespace v8 |