[INFER] Fix bogus assert, bug 640078.

This commit is contained in:
Brian Hackett 2011-03-08 22:36:31 -08:00
parent a49752d076
commit 6b031eadab
2 changed files with 5 additions and 3 deletions

View File

@ -0,0 +1,4 @@
eval("\
try{}\
catch(w if(function(){})){4067286856}\
")

View File

@ -2390,10 +2390,8 @@ AnalyzeBytecode(JSContext *cx, AnalyzeState &state, JSScript *script, uint32 off
* Check that we aren't destroying any useful information. This should only * Check that we aren't destroying any useful information. This should only
* occur around exception handling bytecode. * occur around exception handling bytecode.
*/ */
for (unsigned i = state.stackDepth; i < stackDepth; i++) { for (unsigned i = state.stackDepth; i < stackDepth; i++)
JS_ASSERT(!state.stack[i].isForEach); JS_ASSERT(!state.stack[i].isForEach);
JS_ASSERT(!state.stack[i].hasDouble);
}
#endif #endif
unsigned ndefs = stackDepth - state.stackDepth; unsigned ndefs = stackDepth - state.stackDepth;
memset(&state.stack[state.stackDepth], 0, ndefs * sizeof(AnalyzeStateStack)); memset(&state.stack[state.stackDepth], 0, ndefs * sizeof(AnalyzeStateStack));