| Index: src/builtins.cc
|
| diff --git a/src/builtins.cc b/src/builtins.cc
|
| index 677cfdd8aa9d90f6cc2864cda4ad15a18cfcef0f..ccf066357722d172ce2d38e978c32889fdf05501 100644
|
| --- a/src/builtins.cc
|
| +++ b/src/builtins.cc
|
| @@ -2346,6 +2346,40 @@ BUILTIN(BooleanConstructor_ConstructStub) {
|
| }
|
|
|
|
|
| +// ES6 section 19.3.3.2 Boolean.prototype.toString ( )
|
| +BUILTIN(BooleanPrototypeToString) {
|
| + HandleScope scope(isolate);
|
| + Handle<Object> receiver = args.receiver();
|
| + if (receiver->IsJSValue()) {
|
| + receiver = handle(Handle<JSValue>::cast(receiver)->value(), isolate);
|
| + }
|
| + if (!receiver->IsBoolean()) {
|
| + THROW_NEW_ERROR_RETURN_FAILURE(
|
| + isolate, NewTypeError(MessageTemplate::kNotGeneric,
|
| + isolate->factory()->NewStringFromAsciiChecked(
|
| + "Boolean.prototype.toString")));
|
| + }
|
| + return Handle<Oddball>::cast(receiver)->to_string();
|
| +}
|
| +
|
| +
|
| +// ES6 section 19.3.3.3 Boolean.prototype.valueOf ( )
|
| +BUILTIN(BooleanPrototypeValueOf) {
|
| + HandleScope scope(isolate);
|
| + Handle<Object> receiver = args.receiver();
|
| + if (receiver->IsJSValue()) {
|
| + receiver = handle(Handle<JSValue>::cast(receiver)->value(), isolate);
|
| + }
|
| + if (!receiver->IsBoolean()) {
|
| + THROW_NEW_ERROR_RETURN_FAILURE(
|
| + isolate, NewTypeError(MessageTemplate::kNotGeneric,
|
| + isolate->factory()->NewStringFromAsciiChecked(
|
| + "Boolean.prototype.valueOf")));
|
| + }
|
| + return *receiver;
|
| +}
|
| +
|
| +
|
| // -----------------------------------------------------------------------------
|
| // ES6 section 20.3 Date Objects
|
|
|
|
|