Line data Source code
1 : // Copyright 2017 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #include "src/builtins/builtins-utils-gen.h"
6 : #include "src/builtins/builtins.h"
7 : #include "src/code-stub-assembler.h"
8 :
9 : namespace v8 {
10 : namespace internal {
11 :
12 : // -----------------------------------------------------------------------------
13 : // ES6 section 19.3 Boolean Objects
14 :
15 : // ES6 #sec-boolean.prototype.tostring
16 129 : TF_BUILTIN(BooleanPrototypeToString, CodeStubAssembler) {
17 : Node* context = Parameter(Descriptor::kContext);
18 : Node* receiver = Parameter(Descriptor::kReceiver);
19 :
20 : Node* value = ToThisValue(context, receiver, PrimitiveType::kBoolean,
21 43 : "Boolean.prototype.toString");
22 43 : Node* result = LoadObjectField(value, Oddball::kToStringOffset);
23 43 : Return(result);
24 43 : }
25 :
26 : // ES6 #sec-boolean.prototype.valueof
27 129 : TF_BUILTIN(BooleanPrototypeValueOf, CodeStubAssembler) {
28 : Node* context = Parameter(Descriptor::kContext);
29 : Node* receiver = Parameter(Descriptor::kReceiver);
30 :
31 : Node* result = ToThisValue(context, receiver, PrimitiveType::kBoolean,
32 43 : "Boolean.prototype.valueOf");
33 43 : Return(result);
34 43 : }
35 :
36 : } // namespace internal
37 : } // namespace v8
|