[INFER] Bail from GetProperty IC if js_FindProperty triggered recompilation, bug 647547.

This commit is contained in:
Brian Hackett 2011-04-03 12:25:16 -07:00
parent 90dcf54737
commit 2390894c39
2 changed files with 12 additions and 0 deletions

View File

@ -0,0 +1,9 @@
DoWhile(new DoWhileObject);
new DoWhileObject("", Boolean);
function DoWhileObject( d, e, s ) {
this.whileExpression=e;
}
function DoWhile( object ) {
while ( object.whileExpression ) eval( );
Boolean
}

View File

@ -710,8 +710,11 @@ struct GetPropertyHelper {
public:
LookupStatus bind() {
RecompilationMonitor monitor(cx);
if (!js_FindProperty(cx, ATOM_TO_JSID(atom), &obj, &holder, &prop))
return ic.error(cx);
if (monitor.recompiled())
return Lookup_Uncacheable;
if (!prop)
return ic.disable(cx, "lookup failed");
if (!obj->isNative())