Bug 789735 - Handle lazily-created TypeObjects in IonBuilder. r=dvander
--- a/js/src/ion/IonBuilder.cpp
+++ b/js/src/ion/IonBuilder.cpp
@@ -5606,20 +5606,20 @@ IonBuilder::annotateGetPropertyCache(JSC
if (ownTypes->isOwnProperty(cx, typeObj, false))
continue;
bool knownConstant = false;
Rooted<JSObject*> proto(cx, typeObj->proto);
if (!TestSingletonProperty(cx, proto, id, &knownConstant))
return false;
- if (!knownConstant || proto->type()->unknownProperties())
+ if (!knownConstant || proto->getType(cx)->unknownProperties())
continue;
- types::HeapTypeSet *protoTypes = proto->type()->getProperty(cx, id, false);
+ types::HeapTypeSet *protoTypes = proto->getType(cx)->getProperty(cx, id, false);
if (!protoTypes)
continue;
JSObject *obj = protoTypes->getSingleton(cx);
if (!obj || !obj->isFunction())
continue;
// Don't add cases corresponding to non-observed pushes