Index: src/full-codegen/x64/full-codegen-x64.cc |
diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc |
index 6d7a5e1d086d2088349a189fe3e6850c8ff36cc3..d3a9fdef2b97612c5ca4277cf2ac0ac334f17f2e 100644 |
--- a/src/full-codegen/x64/full-codegen-x64.cc |
+++ b/src/full-codegen/x64/full-codegen-x64.cc |
@@ -2242,47 +2242,10 @@ void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { |
Literal* key = prop->key()->AsLiteral(); |
DCHECK(!prop->IsSuperAccess()); |
- // See comment below. |
- if (FeedbackVector()->GetIndex(prop->PropertyFeedbackSlot()) == 6) { |
- __ Push(LoadDescriptor::ReceiverRegister()); |
- } |
- |
__ Move(LoadDescriptor::NameRegister(), key->value()); |
__ Move(LoadDescriptor::SlotRegister(), |
SmiFromSlot(prop->PropertyFeedbackSlot())); |
CallLoadIC(NOT_INSIDE_TYPEOF, language_mode()); |
- |
- // Sanity check: The loaded value must be a JS-exposed kind of object, |
- // not something internal (like a Map, or FixedArray). Check this here |
- // to chase after a rare but recurring crash bug. It seems to always |
- // occur for functions beginning with "this.foo.bar()", so be selective |
- // and only insert the check for the first LoadIC (identified by slot). |
- // TODO(chromium:527994): Remove this when we have a few crash reports. |
- // Don't forget to remove the Push() above as well! |
- if (FeedbackVector()->GetIndex(prop->PropertyFeedbackSlot()) == 6) { |
- __ Pop(LoadDescriptor::ReceiverRegister()); |
- |
- Label ok, sound_alarm; |
- __ JumpIfSmi(rax, &ok, Label::kNear); |
- __ movp(rbx, FieldOperand(rax, HeapObject::kMapOffset)); |
- __ CompareRoot(rbx, Heap::kMetaMapRootIndex); |
- __ j(equal, &sound_alarm); |
- __ CompareRoot(rbx, Heap::kFixedArrayMapRootIndex); |
- __ j(not_equal, &ok, Label::kNear); |
- |
- __ bind(&sound_alarm); |
- __ Push(Smi::FromInt(0xaabbccdd)); |
- __ Push(LoadDescriptor::ReceiverRegister()); |
- __ movp(rbx, FieldOperand(LoadDescriptor::ReceiverRegister(), |
- HeapObject::kMapOffset)); |
- __ Push(rbx); |
- __ movp(rbx, FieldOperand(LoadDescriptor::ReceiverRegister(), |
- JSObject::kPropertiesOffset)); |
- __ Push(rbx); |
- __ int3(); |
- |
- __ bind(&ok); |
- } |
} |