| 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);
|
| - }
|
| }
|
|
|
|
|
|
|