| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index f4ec29b65c98dd1c71807a0b2547b9eb3695ee1c..bbbd0fe7a014091f0053fe1e9527361dc3e71c34 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -619,9 +619,9 @@ compiler::Node* AddStub::Generate(CodeStubAssembler* assembler,
|
| assembler->Bind(&if_rhsisreceiver);
|
| {
|
| // Convert {rhs} to a primitive first passing no hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here, once it's there.
|
| - var_rhs.Bind(
|
| - assembler->CallRuntime(Runtime::kToPrimitive, context, rhs));
|
| + Callable callable =
|
| + CodeFactory::NonPrimitiveToPrimitive(assembler->isolate());
|
| + var_rhs.Bind(assembler->CallStub(callable, context, rhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -697,9 +697,9 @@ compiler::Node* AddStub::Generate(CodeStubAssembler* assembler,
|
| assembler->Bind(&if_lhsisreceiver);
|
| {
|
| // Convert {lhs} to a primitive first passing no hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here, once it's there.
|
| - var_lhs.Bind(
|
| - assembler->CallRuntime(Runtime::kToPrimitive, context, lhs));
|
| + Callable callable =
|
| + CodeFactory::NonPrimitiveToPrimitive(assembler->isolate());
|
| + var_lhs.Bind(assembler->CallStub(callable, context, lhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -774,9 +774,9 @@ compiler::Node* AddStub::Generate(CodeStubAssembler* assembler,
|
| assembler->Bind(&if_rhsisreceiver);
|
| {
|
| // Convert {rhs} to a primitive first passing no hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here too.
|
| - var_rhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive,
|
| - context, rhs));
|
| + Callable callable = CodeFactory::NonPrimitiveToPrimitive(
|
| + assembler->isolate());
|
| + var_rhs.Bind(assembler->CallStub(callable, context, rhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -805,9 +805,9 @@ compiler::Node* AddStub::Generate(CodeStubAssembler* assembler,
|
| assembler->Bind(&if_lhsisreceiver);
|
| {
|
| // Convert {lhs} to a primitive first passing no hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here, once it's there.
|
| - var_lhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive,
|
| - context, lhs));
|
| + Callable callable =
|
| + CodeFactory::NonPrimitiveToPrimitive(assembler->isolate());
|
| + var_lhs.Bind(assembler->CallStub(callable, context, lhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -825,9 +825,9 @@ compiler::Node* AddStub::Generate(CodeStubAssembler* assembler,
|
| assembler->Bind(&if_rhsisreceiver);
|
| {
|
| // Convert {rhs} to a primitive first passing no hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here too.
|
| - var_rhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive,
|
| - context, rhs));
|
| + Callable callable = CodeFactory::NonPrimitiveToPrimitive(
|
| + assembler->isolate());
|
| + var_rhs.Bind(assembler->CallStub(callable, context, rhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -2161,9 +2161,9 @@ compiler::Node* GenerateAbstractRelationalComparison(
|
| assembler->Bind(&if_rhsisreceiver);
|
| {
|
| // Convert {rhs} to a primitive first passing Number hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here, once it's there.
|
| - var_rhs.Bind(assembler->CallRuntime(
|
| - Runtime::kToPrimitive_Number, context, rhs));
|
| + Callable callable = CodeFactory::NonPrimitiveToPrimitive(
|
| + assembler->isolate(), ToPrimitiveHint::kNumber);
|
| + var_rhs.Bind(assembler->CallStub(callable, context, rhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -2195,9 +2195,9 @@ compiler::Node* GenerateAbstractRelationalComparison(
|
| assembler->Bind(&if_lhsisreceiver);
|
| {
|
| // Convert {lhs} to a primitive first passing Number hint.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here, once it's there.
|
| - var_lhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive_Number,
|
| - context, lhs));
|
| + Callable callable = CodeFactory::NonPrimitiveToPrimitive(
|
| + assembler->isolate(), ToPrimitiveHint::kNumber);
|
| + var_lhs.Bind(assembler->CallStub(callable, context, lhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -2521,9 +2521,9 @@ compiler::Node* GenerateEqual(CodeStubAssembler* assembler, ResultMode mode,
|
| assembler->Bind(&if_rhsisreceiver);
|
| {
|
| // Convert {rhs} to a primitive first (passing no hint).
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here once it exists.
|
| - var_rhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive,
|
| - context, rhs));
|
| + Callable callable = CodeFactory::NonPrimitiveToPrimitive(
|
| + assembler->isolate());
|
| + var_rhs.Bind(assembler->CallStub(callable, context, rhs));
|
| assembler->Goto(&loop);
|
| }
|
|
|
| @@ -2879,9 +2879,9 @@ compiler::Node* GenerateEqual(CodeStubAssembler* assembler, ResultMode mode,
|
| {
|
| // The {rhs} is some Primitive different from Null and
|
| // Undefined, need to convert {lhs} to Primitive first.
|
| - // TODO(bmeurer): Hook up ToPrimitiveStub here once it exists.
|
| - var_lhs.Bind(assembler->CallRuntime(Runtime::kToPrimitive,
|
| - context, lhs));
|
| + Callable callable =
|
| + CodeFactory::NonPrimitiveToPrimitive(assembler->isolate());
|
| + var_lhs.Bind(assembler->CallStub(callable, context, lhs));
|
| assembler->Goto(&loop);
|
| }
|
| }
|
|
|