Index: src/compiler/js-global-object-specialization.cc |
diff --git a/src/compiler/js-global-object-specialization.cc b/src/compiler/js-global-object-specialization.cc |
index 4f19404307f6b981405ff749b7725c23ff1fe43e..a17710d9a360c249dc90add1a50980a71c394696 100644 |
--- a/src/compiler/js-global-object-specialization.cc |
+++ b/src/compiler/js-global-object-specialization.cc |
@@ -186,17 +186,12 @@ Reduction JSGlobalObjectSpecialization::ReduceJSStoreGlobal(Node* node) { |
value = effect = graph()->NewNode(simplified()->CheckTaggedPointer(), |
value, effect, control); |
- // Load the {value} map check against the {property_cell} map. |
- Node* value_map = effect = |
- graph()->NewNode(simplified()->LoadField(AccessBuilder::ForMap()), |
- value, effect, control); |
+ // Check {value} map agains the {property_cell} map. |
Handle<Map> property_cell_value_map( |
Handle<HeapObject>::cast(property_cell_value)->map(), isolate()); |
- Node* check = graph()->NewNode( |
- simplified()->ReferenceEqual(Type::Any()), value_map, |
- jsgraph()->HeapConstant(property_cell_value_map)); |
- effect = |
- graph()->NewNode(simplified()->CheckIf(), check, effect, control); |
+ effect = graph()->NewNode( |
+ simplified()->CheckMaps(1), value, |
+ jsgraph()->HeapConstant(property_cell_value_map), effect, control); |
property_cell_value_type = Type::TaggedPointer(); |
} else { |
// Check that the {value} is a Smi. |