summaryrefslogtreecommitdiff
path: root/src/buildvm_ppcspe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_ppcspe.h')
-rw-r--r--src/buildvm_ppcspe.h450
1 files changed, 235 insertions, 215 deletions
diff --git a/src/buildvm_ppcspe.h b/src/buildvm_ppcspe.h
index f3af36b0..0855fda8 100644
--- a/src/buildvm_ppcspe.h
+++ b/src/buildvm_ppcspe.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned int build_actionlist[4918] = { 15static const unsigned int build_actionlist[4928] = {
160x00010001, 160x00010001,
170x00060014, 170x00060014,
180x72000000, 180x72000000,
@@ -1064,6 +1064,11 @@ static const unsigned int build_actionlist[4918] = {
10640x3a8efff8, 10640x3a8efff8,
10650x40820000, 10650x40820000,
10660x00050842, 10660x00050842,
10670x00000000,
10680x100a0301,
10690x00090cab,
10700x3a8efff8,
10710x00000000,
10670x106e0321, 10720x106e0321,
10680x134e0b21, 10730x134e0b21,
10690x39800000, 10740x39800000,
@@ -1120,7 +1125,6 @@ static const unsigned int build_actionlist[4918] = {
11200x00098200, 11250x00098200,
11210x41820000, 11260x41820000,
11220x00050843, 11270x00050843,
11230x00000000,
11240x7d244b78, 11280x7d244b78,
11250x48000001, 11290x48000001,
11260x0003000c, 11300x0003000c,
@@ -1129,6 +1133,7 @@ static const unsigned int build_actionlist[4918] = {
11290x00098200, 11330x00098200,
11300x41820000, 11340x41820000,
11310x00050843, 11350x00050843,
11360x00000000,
11320x11030301, 11370x11030301,
11330x48000000, 11380x48000000,
11340x0005000b, 11390x0005000b,
@@ -1141,6 +1146,7 @@ static const unsigned int build_actionlist[4918] = {
11410x820efff8, 11460x820efff8,
11420x40800000, 11470x40800000,
11430x00050842, 11480x00050842,
11490x00000000,
11440x81230000, 11500x81230000,
11450x00098200, 11510x00098200,
11460x100a0301, 11520x100a0301,
@@ -1149,6 +1155,11 @@ static const unsigned int build_actionlist[4918] = {
11490x3a8efff8, 11550x3a8efff8,
11500x40820000, 11560x40820000,
11510x00050842, 11570x00050842,
11580x00000000,
11590x100a0301,
11600x00090cab,
11610x3a8efff8,
11620x00000000,
11520x11000229, 11630x11000229,
11530x106e0321, 11640x106e0321,
11540x110e0b21, 11650x110e0b21,
@@ -1184,7 +1195,6 @@ static const unsigned int build_actionlist[4918] = {
11840x1004ca34, 11950x1004ca34,
11850x40800000, 11960x40800000,
11860x00050842, 11970x00050842,
11870x00000000,
11880x39ce0010, 11980x39ce0010,
11890x54c607fe, 11990x54c607fe,
11900x000900ab, 12000x000900ab,
@@ -1211,6 +1221,7 @@ static const unsigned int build_actionlist[4918] = {
12110x00098200, 12210x00098200,
12120x80830000, 12220x80830000,
12130x00098200, 12230x00098200,
12240x00000000,
12140x28000000, 12250x28000000,
12150x00090200, 12260x00090200,
12160x81230000, 12270x81230000,
@@ -1250,7 +1261,6 @@ static const unsigned int build_actionlist[4918] = {
12500x48000000, 12610x48000000,
12510x0005000c, 12620x0005000c,
12520x0006000d, 12630x0006000d,
12530x00000000,
12540x38a00000, 12640x38a00000,
12550x7c751b78, 12650x7c751b78,
12560x38c00000, 12660x38c00000,
@@ -1274,6 +1284,7 @@ static const unsigned int build_actionlist[4918] = {
12740x7d893050, 12840x7d893050,
12750x80120000, 12850x80120000,
12760x00098200, 12860x00098200,
12870x00000000,
12770x280c0000, 12880x280c0000,
12780x7d0e6214, 12890x7d0e6214,
12790x41820000, 12900x41820000,
@@ -1308,7 +1319,6 @@ static const unsigned int build_actionlist[4918] = {
13080x48000000, 13190x48000000,
13090x00050018, 13200x00050018,
13100x00060012, 13210x00060012,
13110x00000000,
13120x72000000, 13220x72000000,
13130x00090200, 13230x00090200,
13140x38c6fff8, 13240x38c6fff8,
@@ -1334,6 +1344,7 @@ static const unsigned int build_actionlist[4918] = {
13340x48000000, 13440x48000000,
13350x0005000e, 13450x0005000e,
13360x00060053, 13460x00060053,
13470x00000000,
13370x806a0000, 13480x806a0000,
13380x00098200, 13490x00098200,
13390x88030000, 13500x88030000,
@@ -1369,7 +1380,6 @@ static const unsigned int build_actionlist[4918] = {
13690x91d20000, 13800x91d20000,
13700x00098200, 13810x00098200,
13710x0006000c, 13820x0006000c,
13720x00000000,
13730x7c085800, 13830x7c085800,
13740x100e4300, 13840x100e4300,
13750x41820000, 13850x41820000,
@@ -1393,6 +1403,7 @@ static const unsigned int build_actionlist[4918] = {
13930x00098200, 14030x00098200,
13940x38000000, 14040x38000000,
13950x00098200, 14050x00098200,
14060x00000000,
13960x81d20000, 14070x81d20000,
13970x00098200, 14080x00098200,
13980x90110000, 14090x90110000,
@@ -1430,7 +1441,6 @@ static const unsigned int build_actionlist[4918] = {
14300x7d936378, 14410x7d936378,
14310x41820000, 14420x41820000,
14320x00050817, 14430x00050817,
14330x00000000,
14340x48000000, 14440x48000000,
14350x00050018, 14450x00050018,
14360x00060012, 14460x00060012,
@@ -1450,6 +1460,7 @@ static const unsigned int build_actionlist[4918] = {
14500x00060054, 14600x00060054,
14510x80120000, 14610x80120000,
14520x00098200, 14620x00098200,
14630x00000000,
14530x7d0e5a14, 14640x7d0e5a14,
14540x91d20000, 14650x91d20000,
14550x00098200, 14660x00098200,
@@ -1481,7 +1492,6 @@ static const unsigned int build_actionlist[4918] = {
14810x3a8efff8, 14920x3a8efff8,
14820x10740321, 14930x10740321,
14830x00060056, 14940x00060056,
14840x00000000,
14850x39800000, 14950x39800000,
14860x00098200, 14960x00098200,
14870x00060043, 14970x00060043,
@@ -1515,6 +1525,7 @@ static const unsigned int build_actionlist[4918] = {
15150x48000000, 15250x48000000,
15160x0005000f, 15260x0005000f,
15170x00060057, 15270x00060057,
15280x00000000,
15180x280b0008, 15290x280b0008,
15190x108e0301, 15300x108e0301,
15200x41800000, 15310x41800000,
@@ -1557,7 +1568,6 @@ static const unsigned int build_actionlist[4918] = {
15570x00050842, 15680x00050842,
15580x48000001, 15690x48000001,
15590x0003000e, 15700x0003000e,
15600x00000000,
15610x1063222d, 15710x1063222d,
15620x48000000, 15720x48000000,
15630x00050045, 15730x00050045,
@@ -1584,6 +1594,7 @@ static const unsigned int build_actionlist[4918] = {
15840x1064222c, 15940x1064222c,
15850x40800000, 15950x40800000,
15860x00050842, 15960x00050842,
15970x00000000,
15870x48000001, 15980x48000001,
15880x00030010, 15990x00030010,
15890x1063222d, 16000x1063222d,
@@ -1618,7 +1629,6 @@ static const unsigned int build_actionlist[4918] = {
16180x48000000, 16290x48000000,
16190x00050045, 16300x00050045,
16200x00060060, 16310x00060060,
16210x00000000,
16220x280b0008, 16320x280b0008,
16230x108e0301, 16330x108e0301,
16240x41800000, 16340x41800000,
@@ -1647,6 +1657,7 @@ static const unsigned int build_actionlist[4918] = {
16470x48000000, 16570x48000000,
16480x00050045, 16580x00050045,
16490x00060062, 16590x00060062,
16600x00000000,
16500x280b0008, 16610x280b0008,
16510x108e0301, 16620x108e0301,
16520x41800000, 16630x41800000,
@@ -1683,7 +1694,6 @@ static const unsigned int build_actionlist[4918] = {
16830x1064222c, 16940x1064222c,
16840x40800000, 16950x40800000,
16850x00050842, 16960x00050842,
16860x00000000,
16870x48000001, 16970x48000001,
16880x00030017, 16980x00030017,
16890x1063222d, 16990x1063222d,
@@ -1712,6 +1722,7 @@ static const unsigned int build_actionlist[4918] = {
17120x1064222c, 17220x1064222c,
17130x40800000, 17230x40800000,
17140x00050842, 17240x00050842,
17250x00000000,
17150x48000001, 17260x48000001,
17160x00030019, 17270x00030019,
17170x1063222d, 17280x1063222d,
@@ -1748,7 +1759,6 @@ static const unsigned int build_actionlist[4918] = {
17480x48000000, 17590x48000000,
17490x00050045, 17600x00050045,
17500x00060069, 17610x00060069,
17510x00000000,
17520x280b0010, 17620x280b0010,
17530x108e0301, 17630x108e0301,
17540x10ce0b01, 17640x10ce0b01,
@@ -1782,6 +1792,7 @@ static const unsigned int build_actionlist[4918] = {
17820x00050045, 17920x00050045,
17830x0006006b, 17930x0006006b,
17840x0006006c, 17940x0006006c,
17950x00000000,
17850x280b0008, 17960x280b0008,
17860x106e0301, 17970x106e0301,
17870x41800000, 17980x41800000,
@@ -1815,7 +1826,6 @@ static const unsigned int build_actionlist[4918] = {
18150x108e0301, 18260x108e0301,
18160x41800000, 18270x41800000,
18170x00050842, 18280x00050842,
18180x00000000,
18190x1004b232, 18290x1004b232,
18200x1064222c, 18300x1064222c,
18210x40800000, 18310x40800000,
@@ -1854,6 +1864,7 @@ static const unsigned int build_actionlist[4918] = {
18540x106e0321, 18640x106e0321,
18550x39800000, 18650x39800000,
18560x00098200, 18660x00098200,
18670x00000000,
18570x48000000, 18680x48000000,
18580x00050043, 18690x00050043,
18590x00060070, 18700x00060070,
@@ -1889,7 +1900,6 @@ static const unsigned int build_actionlist[4918] = {
18890x40800000, 19000x40800000,
18900x00050842, 19010x00050842,
18910x0006000b, 19020x0006000b,
18920x00000000,
18930x108e4300, 19030x108e4300,
18940x7c885840, 19040x7c885840,
18950x1004b232, 19050x1004b232,
@@ -1921,6 +1931,7 @@ static const unsigned int build_actionlist[4918] = {
19210x106e0301, 19310x106e0301,
19220x40820000, 19320x40820000,
19230x00050842, 19330x00050842,
19340x00000000,
19240x1003ba34, 19350x1003ba34,
19250x3a8efff8, 19360x3a8efff8,
19260x40800000, 19370x40800000,
@@ -1955,7 +1966,6 @@ static const unsigned int build_actionlist[4918] = {
19550x1003b232, 19660x1003b232,
19560x38910000, 19670x38910000,
19570x00098200, 19680x00098200,
19580x00000000,
19590x40800000, 19690x40800000,
19600x00050842, 19700x00050842,
19610x10001afa, 19710x10001afa,
@@ -1981,6 +1991,7 @@ static const unsigned int build_actionlist[4918] = {
19810x00098200, 19910x00098200,
19820x81110000, 19920x81110000,
19830x00098200, 19930x00098200,
19940x00000000,
19840x7c004040, 19950x7c004040,
19850x40800001, 19960x40800001,
19860x0005084b, 19970x0005084b,
@@ -2017,7 +2028,6 @@ static const unsigned int build_actionlist[4918] = {
20170x40810000, 20280x40810000,
20180x00050807, 20290x00050807,
20190x0006000d, 20300x0006000d,
20200x00000000,
20210x7ca84851, 20310x7ca84851,
20220x38830000, 20320x38830000,
20230x00098200, 20330x00098200,
@@ -2047,6 +2057,7 @@ static const unsigned int build_actionlist[4918] = {
20470x7c004040, 20570x7c004040,
20480x40800001, 20580x40800001,
20490x0005084b, 20590x0005084b,
20600x00000000,
20500x280b0010, 20610x280b0010,
20510x106e0301, 20620x106e0301,
20520x108e0b01, 20630x108e0b01,
@@ -2080,7 +2091,6 @@ static const unsigned int build_actionlist[4918] = {
20800x41840000, 20910x41840000,
20810x00050842, 20920x00050842,
20820x0006000b, 20930x0006000b,
20830x00000000,
20840x28090000, 20940x28090000,
20850x7c0449ae, 20950x7c0449ae,
20860x3929ffff, 20960x3929ffff,
@@ -2106,6 +2116,7 @@ static const unsigned int build_actionlist[4918] = {
21060x106e0301, 21160x106e0301,
21070x41800000, 21170x41800000,
21080x00050842, 21180x00050842,
21190x00000000,
21090x1003ba34, 21200x1003ba34,
21100x81110000, 21210x81110000,
21110x00098200, 21220x00098200,
@@ -2137,7 +2148,6 @@ static const unsigned int build_actionlist[4918] = {
21370x00098200, 21480x00098200,
21380x81110000, 21490x81110000,
21390x00098200, 21500x00098200,
21400x00000000,
21410x7c004040, 21510x7c004040,
21420x40800001, 21520x40800001,
21430x0005084b, 21530x0005084b,
@@ -2165,6 +2175,7 @@ static const unsigned int build_actionlist[4918] = {
21650x7d0348ae, 21750x7d0348ae,
21660x40800000, 21760x40800000,
21670x00050875, 21770x00050875,
21780x00000000,
21680x3808ffbf, 21790x3808ffbf,
21690x69060020, 21800x69060020,
21700x2800001a, 21810x2800001a,
@@ -2201,7 +2212,6 @@ static const unsigned int build_actionlist[4918] = {
22010x41800000, 22120x41800000,
22020x00050842, 22130x00050842,
22030x0006000b, 22140x0006000b,
22040x00000000,
22050x7c092840, 22150x7c092840,
22060x7d0348ae, 22160x7d0348ae,
22070x40800000, 22170x40800000,
@@ -2232,6 +2242,7 @@ static const unsigned int build_actionlist[4918] = {
22320x106e0301, 22420x106e0301,
22330x41800000, 22430x41800000,
22340x00050842, 22440x00050842,
22450x00000000,
22350x1003b232, 22460x1003b232,
22360x40800000, 22470x40800000,
22370x00050842, 22480x00050842,
@@ -2271,7 +2282,6 @@ static const unsigned int build_actionlist[4918] = {
22710x1003b232, 22820x1003b232,
22720x40800000, 22830x40800000,
22730x00050842, 22840x00050842,
22740x00000000,
22750x1063dae0, 22850x1063dae0,
22760x39000008, 22860x39000008,
22770x0006000b, 22870x0006000b,
@@ -2303,6 +2313,7 @@ static const unsigned int build_actionlist[4918] = {
23030x1004b232, 23130x1004b232,
23040x40840000, 23140x40840000,
23050x0005087d, 23150x0005087d,
23160x00000000,
23060x40800000, 23170x40800000,
23070x00050842, 23180x00050842,
23080x1084dae0, 23190x1084dae0,
@@ -2348,7 +2359,6 @@ static const unsigned int build_actionlist[4918] = {
23480x1000b232, 23590x1000b232,
23490x40830000, 23600x40830000,
23500x00050842, 23610x00050842,
23510x00000000,
23520x1084dae0, 23620x1084dae0,
23530x1063dae0, 23630x1063dae0,
23540x548406fe, 23640x548406fe,
@@ -2391,6 +2401,7 @@ static const unsigned int build_actionlist[4918] = {
23910x48000000, 24010x48000000,
23920x00050045, 24020x00050045,
23930x00060086, 24030x00060086,
24040x00000000,
23940x280b0010, 24050x280b0010,
23950x106e0301, 24060x106e0301,
23960x108e0b01, 24070x108e0b01,
@@ -2436,7 +2447,6 @@ static const unsigned int build_actionlist[4918] = {
24360x7c004840, 24470x7c004840,
24370x91d20000, 24480x91d20000,
24380x00098200, 24490x00098200,
24390x00000000,
24400x91120000, 24500x91120000,
24410x00098200, 24510x00098200,
24420x7e439378, 24520x7e439378,
@@ -2470,6 +2480,7 @@ static const unsigned int build_actionlist[4918] = {
24700x7c0903a6, 24800x7c0903a6,
24710x4e800420, 24810x4e800420,
24720x0006000c, 24820x0006000c,
24830x00000000,
24730x72000000, 24840x72000000,
24740x00090200, 24850x00090200,
24750x56080038, 24860x56080038,
@@ -2500,7 +2511,6 @@ static const unsigned int build_actionlist[4918] = {
25000x9201000c, 25110x9201000c,
25010x90120000, 25120x90120000,
25020x00098200, 25130x00098200,
25030x00000000,
25040x7e439378, 25140x7e439378,
25050x48000001, 25150x48000001,
25060x00030023, 25160x00030023,
@@ -5308,75 +5318,85 @@ static void build_subroutines(BuildCtx *ctx)
5308 dasm_put(Dst, 854, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 5318 dasm_put(Dst, 854, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
5309 dasm_put(Dst, 910, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5319 dasm_put(Dst, 910, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5310 dasm_put(Dst, 970, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8); 5320 dasm_put(Dst, 970, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8);
5311 dasm_put(Dst, 1043, Dt6(->metatable), Dt8(->upvalue[0]), (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8); 5321#ifdef LUAJIT_ENABLE_LUA52COMPAT
5312 dasm_put(Dst, 1108, (0+1)*8, Dt6(->metatable), Dt8(->upvalue[0]), (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask)); 5322 dasm_put(Dst, 1043, Dt6(->metatable), Dt8(->upvalue[0]));
5313 dasm_put(Dst, 1172, 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top)); 5323#else
5314 dasm_put(Dst, 1238, Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, LJ_TTRUE); 5324 dasm_put(Dst, 1052, Dt8(->upvalue[0]));
5315 dasm_put(Dst, 1296, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top)); 5325#endif
5316 dasm_put(Dst, 1357, Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE); 5326 dasm_put(Dst, 1056, (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8);
5317 dasm_put(Dst, 1418, 32-3, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status)); 5327 dasm_put(Dst, 1121);
5318 dasm_put(Dst, 1469, (1+1)*8, FRAME_TYPE); 5328#ifdef LUAJIT_ENABLE_LUA52COMPAT
5319 dasm_put(Dst, 1545); 5329 dasm_put(Dst, 1134, Dt6(->metatable), Dt8(->upvalue[0]));
5320 dasm_put(Dst, 1606); 5330#else
5321 dasm_put(Dst, 1671); 5331 dasm_put(Dst, 1143, Dt8(->upvalue[0]));
5322 dasm_put(Dst, 1736, Dt8(->upvalue[0])); 5332#endif
5323 dasm_put(Dst, 1803, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8); 5333 dasm_put(Dst, 1147, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top));
5324 dasm_put(Dst, 1877, Dt5(->len), Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv)); 5334 dasm_put(Dst, 1209, LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack));
5325 dasm_put(Dst, 1943, Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt5(->len)); 5335 dasm_put(Dst, 1272, Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
5326 dasm_put(Dst, 2005, sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf)); 5336 dasm_put(Dst, 1332, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
5327 dasm_put(Dst, 2068, DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5337 dasm_put(Dst, 1391, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
5328 dasm_put(Dst, 2125, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 5338 dasm_put(Dst, 1448, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), (1+1)*8, FRAME_TYPE);
5329 dasm_put(Dst, 2189); 5339 dasm_put(Dst, 1513);
5330 dasm_put(Dst, 2259); 5340 dasm_put(Dst, 1582);
5331 dasm_put(Dst, 2336, Dt8(->f), 8*LUA_MINSTACK-8, Dt1(->maxstack), Dt1(->base)); 5341 dasm_put(Dst, 1645);
5332 dasm_put(Dst, 2424, Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top)); 5342 dasm_put(Dst, 1710);
5333 dasm_put(Dst, 2488, Dt1(->base), Dt1(->top)); 5343 dasm_put(Dst, 1780, Dt8(->upvalue[0]), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8);
5344 dasm_put(Dst, 1852, Dt5(->len));
5345 dasm_put(Dst, 1919, Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5346 dasm_put(Dst, 1979, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5347 dasm_put(Dst, 2045, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5348 dasm_put(Dst, 2104, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5349 dasm_put(Dst, 2163, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5350 dasm_put(Dst, 2230);
5351 dasm_put(Dst, 2301);
5352 dasm_put(Dst, 2389, Dt8(->f), 8*LUA_MINSTACK-8, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc));
5353 dasm_put(Dst, 2468, FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5334#if LJ_HASJIT 5354#if LJ_HASJIT
5335 dasm_put(Dst, 2501); 5355 dasm_put(Dst, 2511);
5336#endif 5356#endif
5337 dasm_put(Dst, 2503, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base)); 5357 dasm_put(Dst, 2513, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
5338 dasm_put(Dst, 2550, GG_DISP2STATIC); 5358 dasm_put(Dst, 2560, GG_DISP2STATIC);
5339#if LJ_HASJIT 5359#if LJ_HASJIT
5340 dasm_put(Dst, 2568); 5360 dasm_put(Dst, 2578);
5341#endif 5361#endif
5342 dasm_put(Dst, 2570); 5362 dasm_put(Dst, 2580);
5343#if LJ_HASJIT 5363#if LJ_HASJIT
5344 dasm_put(Dst, 2573); 5364 dasm_put(Dst, 2583);
5345#endif 5365#endif
5346 dasm_put(Dst, 2576); 5366 dasm_put(Dst, 2586);
5347#if LJ_HASJIT 5367#if LJ_HASJIT
5348 dasm_put(Dst, 2578); 5368 dasm_put(Dst, 2588);
5349#endif 5369#endif
5350 dasm_put(Dst, 2581, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 5370 dasm_put(Dst, 2591, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5351#if LJ_HASJIT 5371#if LJ_HASJIT
5352 dasm_put(Dst, 2603); 5372 dasm_put(Dst, 2613);
5353#endif 5373#endif
5354 dasm_put(Dst, 2605); 5374 dasm_put(Dst, 2615);
5355#if LJ_HASJIT 5375#if LJ_HASJIT
5356 dasm_put(Dst, 2607); 5376 dasm_put(Dst, 2617);
5357#endif 5377#endif
5358 dasm_put(Dst, 2609); 5378 dasm_put(Dst, 2619);
5359#if LJ_HASJIT 5379#if LJ_HASJIT
5360 dasm_put(Dst, 2686); 5380 dasm_put(Dst, 2696);
5361#else 5381#else
5362 dasm_put(Dst, 2709); 5382 dasm_put(Dst, 2719);
5363#endif 5383#endif
5364 dasm_put(Dst, 2712); 5384 dasm_put(Dst, 2722);
5365#if LJ_HASJIT 5385#if LJ_HASJIT
5366 dasm_put(Dst, 2714); 5386 dasm_put(Dst, 2724);
5367#endif 5387#endif
5368 dasm_put(Dst, 2716); 5388 dasm_put(Dst, 2726);
5369#if LJ_HASJIT 5389#if LJ_HASJIT
5370 dasm_put(Dst, 2718); 5390 dasm_put(Dst, 2728);
5371#endif 5391#endif
5372 dasm_put(Dst, 2720); 5392 dasm_put(Dst, 2730);
5373} 5393}
5374 5394
5375/* Generate the code for a single instruction. */ 5395/* Generate the code for a single instruction. */
5376static void build_ins(BuildCtx *ctx, BCOp op, int defop) 5396static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5377{ 5397{
5378 int vk = 0; 5398 int vk = 0;
5379 dasm_put(Dst, 2782, defop); 5399 dasm_put(Dst, 2792, defop);
5380 5400
5381 switch (op) { 5401 switch (op) {
5382 5402
@@ -5385,112 +5405,112 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5385 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 5405 /* Remember: all ops branch for a true comparison, fall through otherwise. */
5386 5406
5387 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 5407 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
5388 dasm_put(Dst, 2784, -(BCBIAS_J*4 >> 16)); 5408 dasm_put(Dst, 2794, -(BCBIAS_J*4 >> 16));
5389 if (op == BC_ISLE || op == BC_ISGT) { 5409 if (op == BC_ISLE || op == BC_ISGT) {
5390 dasm_put(Dst, 2798); 5410 dasm_put(Dst, 2808);
5391 } 5411 }
5392 if (op == BC_ISLT || op == BC_ISLE) { 5412 if (op == BC_ISLT || op == BC_ISLE) {
5393 dasm_put(Dst, 2801); 5413 dasm_put(Dst, 2811);
5394 } else { 5414 } else {
5395 dasm_put(Dst, 2803); 5415 dasm_put(Dst, 2813);
5396 } 5416 }
5397 dasm_put(Dst, 2805); 5417 dasm_put(Dst, 2815);
5398 break; 5418 break;
5399 5419
5400 case BC_ISEQV: case BC_ISNEV: 5420 case BC_ISEQV: case BC_ISNEV:
5401 vk = op == BC_ISEQV; 5421 vk = op == BC_ISEQV;
5402 dasm_put(Dst, 2816, -(BCBIAS_J*4 >> 16)); 5422 dasm_put(Dst, 2826, -(BCBIAS_J*4 >> 16));
5403 if (vk) { 5423 if (vk) {
5404 dasm_put(Dst, 2830); 5424 dasm_put(Dst, 2840);
5405 } else { 5425 } else {
5406 dasm_put(Dst, 2832); 5426 dasm_put(Dst, 2842);
5407 } 5427 }
5408 dasm_put(Dst, 2834, ~LJ_TISPRI, ~LJ_TISTABUD); 5428 dasm_put(Dst, 2844, ~LJ_TISPRI, ~LJ_TISTABUD);
5409 if (vk) { 5429 if (vk) {
5410 dasm_put(Dst, 2856); 5430 dasm_put(Dst, 2866);
5411 } else { 5431 } else {
5412 dasm_put(Dst, 2858); 5432 dasm_put(Dst, 2868);
5413 } 5433 }
5414 dasm_put(Dst, 2860); 5434 dasm_put(Dst, 2870);
5415 if (vk) { 5435 if (vk) {
5416 dasm_put(Dst, 2862); 5436 dasm_put(Dst, 2872);
5417 } else { 5437 } else {
5418 dasm_put(Dst, 2864); 5438 dasm_put(Dst, 2874);
5419 } 5439 }
5420 dasm_put(Dst, 2866, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq); 5440 dasm_put(Dst, 2876, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
5421 break; 5441 break;
5422 5442
5423 case BC_ISEQS: case BC_ISNES: 5443 case BC_ISEQS: case BC_ISNES:
5424 vk = op == BC_ISEQS; 5444 vk = op == BC_ISEQS;
5425 dasm_put(Dst, 2887, 32-1, -(BCBIAS_J*4 >> 16)); 5445 dasm_put(Dst, 2897, 32-1, -(BCBIAS_J*4 >> 16));
5426 if (vk) { 5446 if (vk) {
5427 dasm_put(Dst, 2901); 5447 dasm_put(Dst, 2911);
5428 } else { 5448 } else {
5429 dasm_put(Dst, 2903); 5449 dasm_put(Dst, 2913);
5430 } 5450 }
5431 dasm_put(Dst, 2905); 5451 dasm_put(Dst, 2915);
5432 break; 5452 break;
5433 5453
5434 case BC_ISEQN: case BC_ISNEN: 5454 case BC_ISEQN: case BC_ISNEN:
5435 vk = op == BC_ISEQN; 5455 vk = op == BC_ISEQN;
5436 dasm_put(Dst, 2916, -(BCBIAS_J*4 >> 16)); 5456 dasm_put(Dst, 2926, -(BCBIAS_J*4 >> 16));
5437 if (vk) { 5457 if (vk) {
5438 dasm_put(Dst, 2930); 5458 dasm_put(Dst, 2940);
5439 } else { 5459 } else {
5440 dasm_put(Dst, 2933); 5460 dasm_put(Dst, 2943);
5441 } 5461 }
5442 dasm_put(Dst, 2935); 5462 dasm_put(Dst, 2945);
5443 if (!vk) { 5463 if (!vk) {
5444 dasm_put(Dst, 2947); 5464 dasm_put(Dst, 2957);
5445 } 5465 }
5446 break; 5466 break;
5447 5467
5448 case BC_ISEQP: case BC_ISNEP: 5468 case BC_ISEQP: case BC_ISNEP:
5449 vk = op == BC_ISEQP; 5469 vk = op == BC_ISEQP;
5450 dasm_put(Dst, 2953, 32-3, -(BCBIAS_J*4 >> 16)); 5470 dasm_put(Dst, 2963, 32-3, -(BCBIAS_J*4 >> 16));
5451 if (vk) { 5471 if (vk) {
5452 dasm_put(Dst, 2965); 5472 dasm_put(Dst, 2975);
5453 } else { 5473 } else {
5454 dasm_put(Dst, 2967); 5474 dasm_put(Dst, 2977);
5455 } 5475 }
5456 dasm_put(Dst, 2969); 5476 dasm_put(Dst, 2979);
5457 break; 5477 break;
5458 5478
5459 /* -- Unary test and copy ops ------------------------------------------- */ 5479 /* -- Unary test and copy ops ------------------------------------------- */
5460 5480
5461 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 5481 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
5462 dasm_put(Dst, 2980); 5482 dasm_put(Dst, 2990);
5463 if (op == BC_IST || op == BC_ISF) { 5483 if (op == BC_IST || op == BC_ISF) {
5464 dasm_put(Dst, 2986, -(BCBIAS_J*4 >> 16)); 5484 dasm_put(Dst, 2996, -(BCBIAS_J*4 >> 16));
5465 if (op == BC_IST) { 5485 if (op == BC_IST) {
5466 dasm_put(Dst, 2991); 5486 dasm_put(Dst, 3001);
5467 } else { 5487 } else {
5468 dasm_put(Dst, 2993); 5488 dasm_put(Dst, 3003);
5469 } 5489 }
5470 } else { 5490 } else {
5471 if (op == BC_ISTC) { 5491 if (op == BC_ISTC) {
5472 dasm_put(Dst, 2995); 5492 dasm_put(Dst, 3005);
5473 } else { 5493 } else {
5474 dasm_put(Dst, 2998); 5494 dasm_put(Dst, 3008);
5475 } 5495 }
5476 dasm_put(Dst, 3001, -(BCBIAS_J*4 >> 16)); 5496 dasm_put(Dst, 3011, -(BCBIAS_J*4 >> 16));
5477 } 5497 }
5478 dasm_put(Dst, 3008); 5498 dasm_put(Dst, 3018);
5479 break; 5499 break;
5480 5500
5481 /* -- Unary ops --------------------------------------------------------- */ 5501 /* -- Unary ops --------------------------------------------------------- */
5482 5502
5483 case BC_MOV: 5503 case BC_MOV:
5484 dasm_put(Dst, 3019); 5504 dasm_put(Dst, 3029);
5485 break; 5505 break;
5486 case BC_NOT: 5506 case BC_NOT:
5487 dasm_put(Dst, 3032, LJ_TTRUE); 5507 dasm_put(Dst, 3042, LJ_TTRUE);
5488 break; 5508 break;
5489 case BC_UNM: 5509 case BC_UNM:
5490 dasm_put(Dst, 3048); 5510 dasm_put(Dst, 3058);
5491 break; 5511 break;
5492 case BC_LEN: 5512 case BC_LEN:
5493 dasm_put(Dst, 3065, Dt5(->len)); 5513 dasm_put(Dst, 3075, Dt5(->len));
5494 break; 5514 break;
5495 5515
5496 /* -- Binary ops -------------------------------------------------------- */ 5516 /* -- Binary ops -------------------------------------------------------- */
@@ -5500,257 +5520,257 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5500 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5520 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5501 switch (vk) { 5521 switch (vk) {
5502 case 0: 5522 case 0:
5503 dasm_put(Dst, 3093); 5523 dasm_put(Dst, 3103);
5504 break; 5524 break;
5505 case 1: 5525 case 1:
5506 dasm_put(Dst, 3099); 5526 dasm_put(Dst, 3109);
5507 break; 5527 break;
5508 default: 5528 default:
5509 dasm_put(Dst, 3105); 5529 dasm_put(Dst, 3115);
5510 break; 5530 break;
5511 } 5531 }
5512 dasm_put(Dst, 3112); 5532 dasm_put(Dst, 3122);
5513 break; 5533 break;
5514 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 5534 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
5515 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5535 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5516 switch (vk) { 5536 switch (vk) {
5517 case 0: 5537 case 0:
5518 dasm_put(Dst, 3125); 5538 dasm_put(Dst, 3135);
5519 break; 5539 break;
5520 case 1: 5540 case 1:
5521 dasm_put(Dst, 3131); 5541 dasm_put(Dst, 3141);
5522 break; 5542 break;
5523 default: 5543 default:
5524 dasm_put(Dst, 3137); 5544 dasm_put(Dst, 3147);
5525 break; 5545 break;
5526 } 5546 }
5527 dasm_put(Dst, 3144); 5547 dasm_put(Dst, 3154);
5528 break; 5548 break;
5529 case BC_MULVN: case BC_MULNV: case BC_MULVV: 5549 case BC_MULVN: case BC_MULNV: case BC_MULVV:
5530 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5550 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5531 switch (vk) { 5551 switch (vk) {
5532 case 0: 5552 case 0:
5533 dasm_put(Dst, 3157); 5553 dasm_put(Dst, 3167);
5534 break; 5554 break;
5535 case 1: 5555 case 1:
5536 dasm_put(Dst, 3163); 5556 dasm_put(Dst, 3173);
5537 break; 5557 break;
5538 default: 5558 default:
5539 dasm_put(Dst, 3169); 5559 dasm_put(Dst, 3179);
5540 break; 5560 break;
5541 } 5561 }
5542 dasm_put(Dst, 3176); 5562 dasm_put(Dst, 3186);
5543 break; 5563 break;
5544 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 5564 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
5545 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5565 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5546 switch (vk) { 5566 switch (vk) {
5547 case 0: 5567 case 0:
5548 dasm_put(Dst, 3189); 5568 dasm_put(Dst, 3199);
5549 break; 5569 break;
5550 case 1: 5570 case 1:
5551 dasm_put(Dst, 3195); 5571 dasm_put(Dst, 3205);
5552 break; 5572 break;
5553 default: 5573 default:
5554 dasm_put(Dst, 3201); 5574 dasm_put(Dst, 3211);
5555 break; 5575 break;
5556 } 5576 }
5557 dasm_put(Dst, 3208); 5577 dasm_put(Dst, 3218);
5558 break; 5578 break;
5559 case BC_MODVN: 5579 case BC_MODVN:
5560 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5580 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5561 switch (vk) { 5581 switch (vk) {
5562 case 0: 5582 case 0:
5563 dasm_put(Dst, 3221); 5583 dasm_put(Dst, 3231);
5564 break; 5584 break;
5565 case 1: 5585 case 1:
5566 dasm_put(Dst, 3227); 5586 dasm_put(Dst, 3237);
5567 break; 5587 break;
5568 default: 5588 default:
5569 dasm_put(Dst, 3233); 5589 dasm_put(Dst, 3243);
5570 break; 5590 break;
5571 } 5591 }
5572 dasm_put(Dst, 3240); 5592 dasm_put(Dst, 3250);
5573 break; 5593 break;
5574 case BC_MODNV: case BC_MODVV: 5594 case BC_MODNV: case BC_MODVV:
5575 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5595 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5576 switch (vk) { 5596 switch (vk) {
5577 case 0: 5597 case 0:
5578 dasm_put(Dst, 3258); 5598 dasm_put(Dst, 3268);
5579 break; 5599 break;
5580 case 1: 5600 case 1:
5581 dasm_put(Dst, 3264); 5601 dasm_put(Dst, 3274);
5582 break; 5602 break;
5583 default: 5603 default:
5584 dasm_put(Dst, 3270); 5604 dasm_put(Dst, 3280);
5585 break; 5605 break;
5586 } 5606 }
5587 dasm_put(Dst, 3277); 5607 dasm_put(Dst, 3287);
5588 break; 5608 break;
5589 case BC_POW: 5609 case BC_POW:
5590 dasm_put(Dst, 3280); 5610 dasm_put(Dst, 3290);
5591 break; 5611 break;
5592 5612
5593 case BC_CAT: 5613 case BC_CAT:
5594 dasm_put(Dst, 3302, Dt1(->base), 32-3, Dt1(->base)); 5614 dasm_put(Dst, 3312, Dt1(->base), 32-3, Dt1(->base));
5595 break; 5615 break;
5596 5616
5597 /* -- Constant ops ------------------------------------------------------ */ 5617 /* -- Constant ops ------------------------------------------------------ */
5598 5618
5599 case BC_KSTR: 5619 case BC_KSTR:
5600 dasm_put(Dst, 3332, 32-1); 5620 dasm_put(Dst, 3342, 32-1);
5601 break; 5621 break;
5602 case BC_KSHORT: 5622 case BC_KSHORT:
5603 dasm_put(Dst, 3349, 32-3); 5623 dasm_put(Dst, 3359, 32-3);
5604 break; 5624 break;
5605 case BC_KNUM: 5625 case BC_KNUM:
5606 dasm_put(Dst, 3365); 5626 dasm_put(Dst, 3375);
5607 break; 5627 break;
5608 case BC_KPRI: 5628 case BC_KPRI:
5609 dasm_put(Dst, 3378, 32-3); 5629 dasm_put(Dst, 3388, 32-3);
5610 break; 5630 break;
5611 case BC_KNIL: 5631 case BC_KNIL:
5612 dasm_put(Dst, 3393); 5632 dasm_put(Dst, 3403);
5613 break; 5633 break;
5614 5634
5615 /* -- Upvalue and function ops ------------------------------------------ */ 5635 /* -- Upvalue and function ops ------------------------------------------ */
5616 5636
5617 case BC_UGET: 5637 case BC_UGET:
5618 dasm_put(Dst, 3412, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); 5638 dasm_put(Dst, 3422, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5619 break; 5639 break;
5620 case BC_USETV: 5640 case BC_USETV:
5621 dasm_put(Dst, 3433, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -LJ_TISNUM, LJ_TISGCV - LJ_TISNUM, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 5641 dasm_put(Dst, 3443, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -LJ_TISNUM, LJ_TISGCV - LJ_TISNUM, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
5622 break; 5642 break;
5623 case BC_USETS: 5643 case BC_USETS:
5624 dasm_put(Dst, 3485, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G); 5644 dasm_put(Dst, 3495, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G);
5625 break; 5645 break;
5626 case BC_USETN: 5646 case BC_USETN:
5627 dasm_put(Dst, 3534, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); 5647 dasm_put(Dst, 3544, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5628 break; 5648 break;
5629 case BC_USETP: 5649 case BC_USETP:
5630 dasm_put(Dst, 3555, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v)); 5650 dasm_put(Dst, 3565, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v));
5631 break; 5651 break;
5632 5652
5633 case BC_UCLO: 5653 case BC_UCLO:
5634 dasm_put(Dst, 3578, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base)); 5654 dasm_put(Dst, 3588, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
5635 break; 5655 break;
5636 5656
5637 case BC_FNEW: 5657 case BC_FNEW:
5638 dasm_put(Dst, 3608, 32-1, Dt1(->base), Dt1(->base)); 5658 dasm_put(Dst, 3618, 32-1, Dt1(->base), Dt1(->base));
5639 break; 5659 break;
5640 5660
5641 /* -- Table ops --------------------------------------------------------- */ 5661 /* -- Table ops --------------------------------------------------------- */
5642 5662
5643 case BC_TNEW: 5663 case BC_TNEW:
5644 case BC_TDUP: 5664 case BC_TDUP:
5645 dasm_put(Dst, 3634, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); 5665 dasm_put(Dst, 3644, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
5646 if (op == BC_TNEW) { 5666 if (op == BC_TNEW) {
5647 dasm_put(Dst, 3647); 5667 dasm_put(Dst, 3657);
5648 } else { 5668 } else {
5649 dasm_put(Dst, 3655, 32-1); 5669 dasm_put(Dst, 3665, 32-1);
5650 } 5670 }
5651 dasm_put(Dst, 3662, Dt1(->base)); 5671 dasm_put(Dst, 3672, Dt1(->base));
5652 break; 5672 break;
5653 5673
5654 case BC_GGET: 5674 case BC_GGET:
5655 case BC_GSET: 5675 case BC_GSET:
5656 dasm_put(Dst, 3685, 32-1, Dt7(->env)); 5676 dasm_put(Dst, 3695, 32-1, Dt7(->env));
5657 if (op == BC_GGET) { 5677 if (op == BC_GGET) {
5658 dasm_put(Dst, 3693); 5678 dasm_put(Dst, 3703);
5659 } else { 5679 } else {
5660 dasm_put(Dst, 3696); 5680 dasm_put(Dst, 3706);
5661 } 5681 }
5662 break; 5682 break;
5663 5683
5664 case BC_TGETV: 5684 case BC_TGETV:
5665 dasm_put(Dst, 3699, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5685 dasm_put(Dst, 3709, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5666 break; 5686 break;
5667 case BC_TGETS: 5687 case BC_TGETS:
5668 dasm_put(Dst, 3757, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5688 dasm_put(Dst, 3767, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5669 dasm_put(Dst, 3821); 5689 dasm_put(Dst, 3831);
5670 break; 5690 break;
5671 case BC_TGETB: 5691 case BC_TGETB:
5672 dasm_put(Dst, 3826, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5692 dasm_put(Dst, 3836, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5673 break; 5693 break;
5674 5694
5675 case BC_TSETV: 5695 case BC_TSETV:
5676 dasm_put(Dst, 3870, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 5696 dasm_put(Dst, 3880, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
5677 dasm_put(Dst, 3937, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5697 dasm_put(Dst, 3947, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5678 break; 5698 break;
5679 case BC_TSETS: 5699 case BC_TSETS:
5680 dasm_put(Dst, 3949, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable)); 5700 dasm_put(Dst, 3959, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable));
5681 dasm_put(Dst, 4010, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 5701 dasm_put(Dst, 4020, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
5682 dasm_put(Dst, 4061, Dt6(->marked), Dt6(->gclist)); 5702 dasm_put(Dst, 4071, Dt6(->marked), Dt6(->gclist));
5683 break; 5703 break;
5684 case BC_TSETB: 5704 case BC_TSETB:
5685 dasm_put(Dst, 4068, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked)); 5705 dasm_put(Dst, 4078, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked));
5686 dasm_put(Dst, 4128, Dt6(->gclist)); 5706 dasm_put(Dst, 4138, Dt6(->gclist));
5687 break; 5707 break;
5688 5708
5689 case BC_TSETM: 5709 case BC_TSETM:
5690 dasm_put(Dst, 4133, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5710 dasm_put(Dst, 4143, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5691 dasm_put(Dst, 4202); 5711 dasm_put(Dst, 4212);
5692 break; 5712 break;
5693 5713
5694 /* -- Calls and vararg handling ----------------------------------------- */ 5714 /* -- Calls and vararg handling ----------------------------------------- */
5695 5715
5696 case BC_CALLM: 5716 case BC_CALLM:
5697 dasm_put(Dst, 4205); 5717 dasm_put(Dst, 4215);
5698 break; 5718 break;
5699 case BC_CALL: 5719 case BC_CALL:
5700 dasm_put(Dst, 4207, Dt7(->pc)); 5720 dasm_put(Dst, 4217, Dt7(->pc));
5701 break; 5721 break;
5702 5722
5703 case BC_CALLMT: 5723 case BC_CALLMT:
5704 dasm_put(Dst, 4227); 5724 dasm_put(Dst, 4237);
5705 break; 5725 break;
5706 case BC_CALLT: 5726 case BC_CALLT:
5707 dasm_put(Dst, 4229, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); 5727 dasm_put(Dst, 4239, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5708 dasm_put(Dst, 4294, FRAME_TYPE); 5728 dasm_put(Dst, 4304, FRAME_TYPE);
5709 break; 5729 break;
5710 5730
5711 case BC_ITERC: 5731 case BC_ITERC:
5712 dasm_put(Dst, 4301, Dt7(->pc)); 5732 dasm_put(Dst, 4311, Dt7(->pc));
5713 break; 5733 break;
5714 5734
5715 case BC_ITERN: 5735 case BC_ITERN:
5716#if LJ_HASJIT 5736#if LJ_HASJIT
5717#endif 5737#endif
5718 dasm_put(Dst, 4327, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16)); 5738 dasm_put(Dst, 4337, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16));
5719 dasm_put(Dst, 4406); 5739 dasm_put(Dst, 4416);
5720 break; 5740 break;
5721 5741
5722 case BC_ISNEXT: 5742 case BC_ISNEXT:
5723 dasm_put(Dst, 4410, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16)); 5743 dasm_put(Dst, 4420, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
5724 break; 5744 break;
5725 5745
5726 case BC_VARG: 5746 case BC_VARG:
5727 dasm_put(Dst, 4461, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base)); 5747 dasm_put(Dst, 4471, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
5728 dasm_put(Dst, 4541); 5748 dasm_put(Dst, 4551);
5729 break; 5749 break;
5730 5750
5731 /* -- Returns ----------------------------------------------------------- */ 5751 /* -- Returns ----------------------------------------------------------- */
5732 5752
5733 case BC_RETM: 5753 case BC_RETM:
5734 dasm_put(Dst, 4547); 5754 dasm_put(Dst, 4557);
5735 break; 5755 break;
5736 5756
5737 case BC_RET: 5757 case BC_RET:
5738 dasm_put(Dst, 4549, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); 5758 dasm_put(Dst, 4559, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5739 break; 5759 break;
5740 5760
5741 case BC_RET0: case BC_RET1: 5761 case BC_RET0: case BC_RET1:
5742 dasm_put(Dst, 4619, FRAME_TYPE, FRAME_VARG); 5762 dasm_put(Dst, 4629, FRAME_TYPE, FRAME_VARG);
5743 if (op == BC_RET1) { 5763 if (op == BC_RET1) {
5744 dasm_put(Dst, 4632); 5764 dasm_put(Dst, 4642);
5745 } 5765 }
5746 dasm_put(Dst, 4635, Dt7(->pc), PC2PROTO(k)); 5766 dasm_put(Dst, 4645, Dt7(->pc), PC2PROTO(k));
5747 break; 5767 break;
5748 5768
5749 /* -- Loops and branches ------------------------------------------------ */ 5769 /* -- Loops and branches ------------------------------------------------ */
5750 5770
5751 case BC_FORL: 5771 case BC_FORL:
5752#if LJ_HASJIT 5772#if LJ_HASJIT
5753 dasm_put(Dst, 4663); 5773 dasm_put(Dst, 4673);
5754#endif 5774#endif
5755 break; 5775 break;
5756 5776
@@ -5762,35 +5782,35 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5762 case BC_FORI: 5782 case BC_FORI:
5763 case BC_IFORL: 5783 case BC_IFORL:
5764 vk = (op == BC_IFORL || op == BC_JFORL); 5784 vk = (op == BC_IFORL || op == BC_JFORL);
5765 dasm_put(Dst, 4665, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8); 5785 dasm_put(Dst, 4675, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8);
5766 if (!vk) { 5786 if (!vk) {
5767 dasm_put(Dst, 4673); 5787 dasm_put(Dst, 4683);
5768 } 5788 }
5769 if (vk) { 5789 if (vk) {
5770 dasm_put(Dst, 4681, FORL_IDX*8); 5790 dasm_put(Dst, 4691, FORL_IDX*8);
5771 } 5791 }
5772 dasm_put(Dst, 4685, FORL_EXT*8); 5792 dasm_put(Dst, 4695, FORL_EXT*8);
5773 if (op != BC_JFORL) { 5793 if (op != BC_JFORL) {
5774 dasm_put(Dst, 4693, 32-1); 5794 dasm_put(Dst, 4703, 32-1);
5775 if (op == BC_JFORI) { 5795 if (op == BC_JFORI) {
5776 dasm_put(Dst, 4697, -(BCBIAS_J*4 >> 16)); 5796 dasm_put(Dst, 4707, -(BCBIAS_J*4 >> 16));
5777 } else { 5797 } else {
5778 dasm_put(Dst, 4700, -(BCBIAS_J*4 >> 16)); 5798 dasm_put(Dst, 4710, -(BCBIAS_J*4 >> 16));
5779 } 5799 }
5780 } 5800 }
5781 if (op == BC_FORI) { 5801 if (op == BC_FORI) {
5782 dasm_put(Dst, 4703); 5802 dasm_put(Dst, 4713);
5783 } else if (op == BC_IFORL) { 5803 } else if (op == BC_IFORL) {
5784 dasm_put(Dst, 4705); 5804 dasm_put(Dst, 4715);
5785 } else { 5805 } else {
5786 dasm_put(Dst, 4707, BC_JLOOP); 5806 dasm_put(Dst, 4717, BC_JLOOP);
5787 } 5807 }
5788 dasm_put(Dst, 4710); 5808 dasm_put(Dst, 4720);
5789 break; 5809 break;
5790 5810
5791 case BC_ITERL: 5811 case BC_ITERL:
5792#if LJ_HASJIT 5812#if LJ_HASJIT
5793 dasm_put(Dst, 4725); 5813 dasm_put(Dst, 4735);
5794#endif 5814#endif
5795 break; 5815 break;
5796 5816
@@ -5799,40 +5819,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5799 break; 5819 break;
5800#endif 5820#endif
5801 case BC_IITERL: 5821 case BC_IITERL:
5802 dasm_put(Dst, 4727); 5822 dasm_put(Dst, 4737);
5803 if (op == BC_JITERL) { 5823 if (op == BC_JITERL) {
5804 dasm_put(Dst, 4733); 5824 dasm_put(Dst, 4743);
5805 } else { 5825 } else {
5806 dasm_put(Dst, 4735, 32-1, -(BCBIAS_J*4 >> 16)); 5826 dasm_put(Dst, 4745, 32-1, -(BCBIAS_J*4 >> 16));
5807 } 5827 }
5808 dasm_put(Dst, 4742); 5828 dasm_put(Dst, 4752);
5809 break; 5829 break;
5810 5830
5811 case BC_LOOP: 5831 case BC_LOOP:
5812#if LJ_HASJIT 5832#if LJ_HASJIT
5813 dasm_put(Dst, 4754); 5833 dasm_put(Dst, 4764);
5814#endif 5834#endif
5815 break; 5835 break;
5816 5836
5817 case BC_ILOOP: 5837 case BC_ILOOP:
5818 dasm_put(Dst, 4756); 5838 dasm_put(Dst, 4766);
5819 break; 5839 break;
5820 5840
5821 case BC_JLOOP: 5841 case BC_JLOOP:
5822#if LJ_HASJIT 5842#if LJ_HASJIT
5823 dasm_put(Dst, 4767); 5843 dasm_put(Dst, 4777);
5824#endif 5844#endif
5825 break; 5845 break;
5826 5846
5827 case BC_JMP: 5847 case BC_JMP:
5828 dasm_put(Dst, 4769, 32-1, -(BCBIAS_J*4 >> 16)); 5848 dasm_put(Dst, 4779, 32-1, -(BCBIAS_J*4 >> 16));
5829 break; 5849 break;
5830 5850
5831 /* -- Function headers -------------------------------------------------- */ 5851 /* -- Function headers -------------------------------------------------- */
5832 5852
5833 case BC_FUNCF: 5853 case BC_FUNCF:
5834#if LJ_HASJIT 5854#if LJ_HASJIT
5835 dasm_put(Dst, 4785); 5855 dasm_put(Dst, 4795);
5836#endif 5856#endif
5837 case BC_FUNCV: /* NYI: compiled vararg functions. */ 5857 case BC_FUNCV: /* NYI: compiled vararg functions. */
5838 break; 5858 break;
@@ -5842,38 +5862,38 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5842 break; 5862 break;
5843#endif 5863#endif
5844 case BC_IFUNCF: 5864 case BC_IFUNCF:
5845 dasm_put(Dst, 4787, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3); 5865 dasm_put(Dst, 4797, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
5846 if (op == BC_JFUNCF) { 5866 if (op == BC_JFUNCF) {
5847 dasm_put(Dst, 4805); 5867 dasm_put(Dst, 4815);
5848 } else { 5868 } else {
5849 dasm_put(Dst, 4807); 5869 dasm_put(Dst, 4817);
5850 } 5870 }
5851 dasm_put(Dst, 4816); 5871 dasm_put(Dst, 4826);
5852 break; 5872 break;
5853 5873
5854 case BC_JFUNCV: 5874 case BC_JFUNCV:
5855#if !LJ_HASJIT 5875#if !LJ_HASJIT
5856 break; 5876 break;
5857#endif 5877#endif
5858 dasm_put(Dst, 4822); 5878 dasm_put(Dst, 4832);
5859 break; /* NYI: compiled vararg functions. */ 5879 break; /* NYI: compiled vararg functions. */
5860 5880
5861 case BC_IFUNCV: 5881 case BC_IFUNCV:
5862 dasm_put(Dst, 4824, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams)); 5882 dasm_put(Dst, 4834, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams));
5863 break; 5883 break;
5864 5884
5865 case BC_FUNCC: 5885 case BC_FUNCC:
5866 case BC_FUNCCW: 5886 case BC_FUNCCW:
5867 if (op == BC_FUNCC) { 5887 if (op == BC_FUNCC) {
5868 dasm_put(Dst, 4874, Dt8(->f)); 5888 dasm_put(Dst, 4884, Dt8(->f));
5869 } else { 5889 } else {
5870 dasm_put(Dst, 4877, DISPATCH_GL(wrapf)); 5890 dasm_put(Dst, 4887, DISPATCH_GL(wrapf));
5871 } 5891 }
5872 dasm_put(Dst, 4880, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C); 5892 dasm_put(Dst, 4890, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
5873 if (op == BC_FUNCCW) { 5893 if (op == BC_FUNCCW) {
5874 dasm_put(Dst, 4893, Dt8(->f)); 5894 dasm_put(Dst, 4903, Dt8(->f));
5875 } 5895 }
5876 dasm_put(Dst, 4896, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate)); 5896 dasm_put(Dst, 4906, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
5877 break; 5897 break;
5878 5898
5879 /* ---------------------------------------------------------------------- */ 5899 /* ---------------------------------------------------------------------- */
@@ -5893,7 +5913,7 @@ static int build_backend(BuildCtx *ctx)
5893 5913
5894 build_subroutines(ctx); 5914 build_subroutines(ctx);
5895 5915
5896 dasm_put(Dst, 4917); 5916 dasm_put(Dst, 4927);
5897 for (op = 0; op < BC__MAX; op++) 5917 for (op = 0; op < BC__MAX; op++)
5898 build_ins(ctx, (BCOp)op, op); 5918 build_ins(ctx, (BCOp)op, op);
5899 5919