author | Jan de Mooij <jdemooij@mozilla.com> |
Fri, 12 Jun 2015 09:40:12 +0200 | |
changeset 248574 | 306758f7b34056584782d7c77d69bc59a8436bdb |
parent 248573 | 416257a77854f00da2c5938c724f2bbf6f3f6476 |
child 248575 | 4b42c4d4e4a790194ef1edb6b3ef19540fb94107 |
push id | 28899 |
push user | ryanvm@gmail.com |
push date | Fri, 12 Jun 2015 18:57:39 +0000 |
treeherder | mozilla-central@203e1025a826 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bhackett |
bugs | 1168864 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jit/BaselineIC.cpp +++ b/js/src/jit/BaselineIC.cpp @@ -2665,21 +2665,18 @@ CheckHasNoSuchProperty(JSContext* cx, Ha { MOZ_ASSERT(protoChainDepthOut != nullptr); size_t depth = 0; RootedObject curObj(cx, obj); while (curObj) { if (curObj->isNative()) { // Don't handle proto chains with resolve hooks. - if (ClassMayResolveId(cx->names(), curObj->getClass(), NameToId(name), curObj) || - curObj->getClass()->addProperty) - { + if (ClassMayResolveId(cx->names(), curObj->getClass(), NameToId(name), curObj)) return false; - } if (curObj->as<NativeObject>().contains(cx, NameToId(name))) return false; } else if (curObj != obj) { // Non-native objects are only handled as the original receiver. return false; } else if (curObj->is<UnboxedPlainObject>()) { if (curObj->as<UnboxedPlainObject>().containsUnboxedOrExpandoProperty(cx, NameToId(name))) return false;