Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: src/code-stubs.cc

Issue 2431363002: [interpreter] Don't canonicalize results of feedback collecting handlers. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index 6ee1d4c27ea5dfaa708689b38ba00352c64e2d86..306a1b36a289787de1b3093c8b5135f5e5b57f25 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -809,7 +809,7 @@ compiler::Node* AddWithFeedbackStub::Generate(
assembler->Int32Constant(BinaryOperationFeedback::kNumber));
Node* value =
assembler->Float64Add(var_fadd_lhs.value(), var_fadd_rhs.value());
- Node* result = assembler->ChangeFloat64ToTagged(value);
+ Node* result = assembler->AllocateHeapNumberWithValue(value);
var_result.Bind(result);
assembler->Goto(&end);
}
@@ -1020,7 +1020,7 @@ compiler::Node* SubtractWithFeedbackStub::Generate(
Node* lhs_value = var_fsub_lhs.value();
Node* rhs_value = var_fsub_rhs.value();
Node* value = assembler->Float64Sub(lhs_value, rhs_value);
- var_result.Bind(assembler->ChangeFloat64ToTagged(value));
+ var_result.Bind(assembler->AllocateHeapNumberWithValue(value));
assembler->Goto(&end);
}
@@ -1195,7 +1195,7 @@ compiler::Node* MultiplyWithFeedbackStub::Generate(
assembler->Int32Constant(BinaryOperationFeedback::kNumber));
Node* value =
assembler->Float64Mul(var_lhs_float64.value(), var_rhs_float64.value());
- Node* result = assembler->ChangeFloat64ToTagged(value);
+ Node* result = assembler->AllocateHeapNumberWithValue(value);
var_result.Bind(result);
assembler->Goto(&end);
}
@@ -1418,7 +1418,7 @@ compiler::Node* DivideWithFeedbackStub::Generate(
assembler->Int32Constant(BinaryOperationFeedback::kNumber));
Node* value = assembler->Float64Div(var_dividend_float64.value(),
var_divisor_float64.value());
- var_result.Bind(assembler->ChangeFloat64ToTagged(value));
+ var_result.Bind(assembler->AllocateHeapNumberWithValue(value));
assembler->Goto(&end);
}
@@ -1581,7 +1581,7 @@ compiler::Node* ModulusWithFeedbackStub::Generate(
assembler->Int32Constant(BinaryOperationFeedback::kNumber));
Node* value = assembler->Float64Mod(var_dividend_float64.value(),
var_divisor_float64.value());
- var_result.Bind(assembler->ChangeFloat64ToTagged(value));
+ var_result.Bind(assembler->AllocateHeapNumberWithValue(value));
assembler->Goto(&end);
}
@@ -1739,7 +1739,7 @@ compiler::Node* IncStub::Generate(CodeStubAssembler* assembler,
var_type_feedback.Bind(assembler->Word32Or(
var_type_feedback.value(),
assembler->Int32Constant(BinaryOperationFeedback::kNumber)));
- result_var.Bind(assembler->ChangeFloat64ToTagged(finc_result));
+ result_var.Bind(assembler->AllocateHeapNumberWithValue(finc_result));
assembler->Goto(&end);
}
@@ -1852,7 +1852,7 @@ compiler::Node* DecStub::Generate(CodeStubAssembler* assembler,
var_type_feedback.Bind(assembler->Word32Or(
var_type_feedback.value(),
assembler->Int32Constant(BinaryOperationFeedback::kNumber)));
- result_var.Bind(assembler->ChangeFloat64ToTagged(fdec_result));
+ result_var.Bind(assembler->AllocateHeapNumberWithValue(fdec_result));
assembler->Goto(&end);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698