Bug 1135816 - Handle unboxed object receivers when compiling getter/setter calls in baseline/Ion, r=jandem.

This commit is contained in:
Brian Hackett
2015-03-03 06:32:27 -06:00
parent 27813aa864
commit 2f072f5964
19 changed files with 463 additions and 385 deletions

View File

@@ -4112,29 +4112,6 @@ JSObject::addSizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf, JS::ClassIn
}
}
bool
JSObject::hasIdempotentProtoChain() const
{
// Return false if obj (or an object on its proto chain) is non-native or
// has a resolve or lookup hook.
JSObject *obj = const_cast<JSObject *>(this);
while (true) {
if (!obj->isNative())
return false;
JSResolveOp resolve = obj->getClass()->resolve;
if (resolve && resolve != js::fun_resolve && resolve != js::str_resolve)
return false;
if (obj->getOps()->lookupProperty)
return false;
obj = obj->getProto();
if (!obj)
return true;
}
}
void
JSObject::markChildren(JSTracer *trc)
{