| 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..f8475d1632c1b89a9fe62a9e3b9c30067d9400c0
|
| --- /dev/null
|
| +++ b/src/builtins/builtins-console-gen.cc
|
| @@ -0,0 +1,38 @@
|
| +// 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);
|
| + GotoIf(Word32Equal(argc, Int32Constant(0)), &runtime);
|
| +
|
| + CodeStubArguments args(this, ChangeInt32ToIntPtr(argc));
|
| + BranchIfToBooleanIsTrue(args.AtIndex(0), &out, &runtime);
|
| + BIND(&out);
|
| + args.PopAndReturn(UndefinedConstant());
|
| +
|
| + BIND(&runtime);
|
| + {
|
| + Node* target = LoadFromFrame(StandardFrameConstants::kFunctionOffset,
|
| + MachineType::TaggedPointer());
|
| + TailCallBuiltin(Builtins::kConsoleAssert, context, target, new_target,
|
| + argc);
|
| + }
|
| +}
|
| +
|
| +} // namespace internal
|
| +} // namespace v8
|
|
|