| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index cc65922d5ec02cd9c7fdf98212cede5282501f95..45303bd1460c8420ecae38921319e1f68292c591 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -1361,19 +1361,16 @@ HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() {
|
| if_leftisstring.If<HIsStringAndBranch>(left);
|
| if_leftisstring.Then();
|
| {
|
| - Push(BuildBinaryOperation(
|
| - state.op(), left, right,
|
| - Type::String(zone()), right_type,
|
| - result_type, state.fixed_right_arg(),
|
| - allocation_mode, state.language_mode()));
|
| + Push(BuildBinaryOperation(state.op(), left, right, Type::String(zone()),
|
| + right_type, result_type,
|
| + state.fixed_right_arg(), allocation_mode,
|
| + state.strength()));
|
| }
|
| if_leftisstring.Else();
|
| {
|
| Push(BuildBinaryOperation(
|
| - state.op(), left, right,
|
| - left_type, right_type, result_type,
|
| - state.fixed_right_arg(), allocation_mode,
|
| - state.language_mode()));
|
| + state.op(), left, right, left_type, right_type, result_type,
|
| + state.fixed_right_arg(), allocation_mode, state.strength()));
|
| }
|
| if_leftisstring.End();
|
| result = Pop();
|
| @@ -1382,28 +1379,24 @@ HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() {
|
| if_rightisstring.If<HIsStringAndBranch>(right);
|
| if_rightisstring.Then();
|
| {
|
| - Push(BuildBinaryOperation(
|
| - state.op(), left, right,
|
| - left_type, Type::String(zone()),
|
| - result_type, state.fixed_right_arg(),
|
| - allocation_mode, state.language_mode()));
|
| + Push(BuildBinaryOperation(state.op(), left, right, left_type,
|
| + Type::String(zone()), result_type,
|
| + state.fixed_right_arg(), allocation_mode,
|
| + state.strength()));
|
| }
|
| if_rightisstring.Else();
|
| {
|
| Push(BuildBinaryOperation(
|
| - state.op(), left, right,
|
| - left_type, right_type, result_type,
|
| - state.fixed_right_arg(), allocation_mode,
|
| - state.language_mode()));
|
| + state.op(), left, right, left_type, right_type, result_type,
|
| + state.fixed_right_arg(), allocation_mode, state.strength()));
|
| }
|
| if_rightisstring.End();
|
| result = Pop();
|
| }
|
| } else {
|
| result = BuildBinaryOperation(
|
| - state.op(), left, right,
|
| - left_type, right_type, result_type,
|
| - state.fixed_right_arg(), allocation_mode, state.language_mode());
|
| + state.op(), left, right, left_type, right_type, result_type,
|
| + state.fixed_right_arg(), allocation_mode, state.strength());
|
| }
|
|
|
| // If we encounter a generic argument, the number conversion is
|
| @@ -1435,10 +1428,9 @@ HValue* CodeStubGraphBuilder<BinaryOpWithAllocationSiteStub>::BuildCodeStub() {
|
| Type* result_type = state.GetResultType(zone());
|
| HAllocationMode allocation_mode(allocation_site);
|
|
|
| - return BuildBinaryOperation(state.op(), left, right,
|
| - left_type, right_type, result_type,
|
| - state.fixed_right_arg(), allocation_mode,
|
| - state.language_mode());
|
| + return BuildBinaryOperation(state.op(), left, right, left_type, right_type,
|
| + result_type, state.fixed_right_arg(),
|
| + allocation_mode, state.strength());
|
| }
|
|
|
|
|
|
|