Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // Bug 758509 changed things so that a JSScript is partially initialized when
2 // it is created, which is prior to bytecode generation; full initialization
3 // only occurs after bytecode generation. This means that
4 // JSScript::markChildren() must deal with partially-initialized JSScripts.
5 // This test forces that to happen, because each let block allocates a
6 // StaticBlockObject. All that should happen is that we don't crash.
8 let t = 0;
9 gczeal(2,1);
10 eval("\
11 let x = 3, y = 4;\
12 let (x = x+0, y = 12) { t += (x + y); } \
13 let (x = x+1, y = 12) { t += (x + y); } \
14 let (x = x+2, y = 12) { t += (x + y); } \
15 let (x = x+3, y = 12) { t += (x + y); } \
16 let (x = x+4, y = 12) { t += (x + y); } \
17 let (x = x+5, y = 12) { t += (x + y); } \
18 let (x = x+6, y = 12) { t += (x + y); } \
19 let (x = x+7, y = 12) { t += (x + y); } \
20 let (x = x+8, y = 12) { t += (x + y); } \
21 let (x = x+9, y = 12) { t += (x + y); } \
22 t += (x + y);\
23 assertEq(t, 202);\
24 ");