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

Unified Diff: src/deoptimizer.cc

Issue 2814013003: [turbofan] Properly represent the float64 hole. (Closed)
Patch Set: Make sure the_hole has the correct hole NaN bit pattern on Win32. Created 3 years, 8 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
Index: src/deoptimizer.cc
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc
index ccafae032bfba26b88282360b9d75fbb1df58138..ea661297d40920838b00a071dc3249c3aa68bb00 100644
--- a/src/deoptimizer.cc
+++ b/src/deoptimizer.cc
@@ -3071,10 +3071,6 @@ void TranslatedValue::MaterializeSimple() {
}
case kDouble: {
- if (double_value().is_hole_nan()) {
- value_ = isolate()->factory()->hole_nan_value();
- return;
- }
double scalar_value = double_value().get_scalar();
value_ = Handle<Object>(isolate()->factory()->NewNumber(scalar_value));
return;
@@ -4113,10 +4109,10 @@ Handle<Object> TranslatedState::MaterializeCapturedObjectAt(
Handle<FixedDoubleArray>::cast(object);
for (int i = 0; i < length; ++i) {
Handle<Object> value = materializer.FieldAt(value_index);
- CHECK(value->IsNumber());
- if (value.is_identical_to(isolate_->factory()->hole_nan_value())) {
+ if (value.is_identical_to(isolate_->factory()->the_hole_value())) {
double_array->set_the_hole(isolate_, i);
} else {
+ CHECK(value->IsNumber());
double_array->set(i, value->Number());
}
}

Powered by Google App Engine
This is Rietveld 408576698