Bug 720680: Less paren slop. (r=cdleary)

This commit is contained in:
Adam 2012-01-25 22:25:31 -08:00
Родитель b07b76a8d6
Коммит f03718528d
2 изменённых файлов: 17 добавлений и 3 удалений

Просмотреть файл

@ -0,0 +1,15 @@
// |jit-test| error: InternalError
version(0);
eval("\
function TimeFromYear( y ) {}\
addTestCase( -2208988800000 );\
function addTestCase( t ) {\
var start = TimeFromYear((addTestCase(addTestCase << t, 0)));\
new TestCase( \
SECTION,\
'(new Date('+d+')).getUTCDay()',\
WeekDay((d)),\
(new Date(let ({ stop } = 'properties.length' )('/ab[c\\\n]/'))).getUTCDay() \
);\
}\
");

Просмотреть файл

@ -855,8 +855,7 @@ Sprinter::put(const char *s, size_t len)
s = stringAt(s - oldBase); /* this is where it lives now */ s = stringAt(s - oldBase); /* this is where it lives now */
memmove(bp, s, len); memmove(bp, s, len);
} else { } else {
JS_ASSERT(s < base || s >= base + size); js_memcpy(bp, s, len);
memcpy(bp, s, len);
} }
bp[len] = 0; bp[len] = 0;
@ -2059,7 +2058,7 @@ DecompileDestructuringLHS(SprintStack *ss, jsbytecode *pc, jsbytecode *endpc, JS
* the nb parameter. * the nb parameter.
*/ */
ptrdiff_t todo = ss->sprinter.getOffset(); ptrdiff_t todo = ss->sprinter.getOffset();
ss->sprinter.setOffset(todo + PAREN_SLOP); ss->sprinter.reserve(PAREN_SLOP);
pc = Decompile(ss, pc, -((intN)ss->top)); pc = Decompile(ss, pc, -((intN)ss->top));
if (!pc) if (!pc)
return NULL; return NULL;