diff options
author | Mike Pall <mike> | 2011-09-05 18:34:38 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-09-05 20:22:55 +0200 |
commit | ae3317b186f8782aa282a78e8a57c2130ddeb3f7 (patch) | |
tree | 84bc0d888755f54415f03287c9701fe1b47b0485 /src | |
parent | bab2f0efaec441599837e82a9311b63831673faf (diff) | |
download | luajit-ae3317b186f8782aa282a78e8a57c2130ddeb3f7.tar.gz luajit-ae3317b186f8782aa282a78e8a57c2130ddeb3f7.tar.bz2 luajit-ae3317b186f8782aa282a78e8a57c2130ddeb3f7.zip |
PPC: Interpreter/JIT integration.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_ppc.dasc | 186 | ||||
-rw-r--r-- | src/buildvm_ppc.h | 1262 |
2 files changed, 955 insertions, 493 deletions
diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc index bbe5c741..bc2382ac 100644 --- a/src/buildvm_ppc.dasc +++ b/src/buildvm_ppc.dasc | |||
@@ -16,7 +16,7 @@ | |||
16 | |//----------------------------------------------------------------------- | 16 | |//----------------------------------------------------------------------- |
17 | | | 17 | | |
18 | |// Fixed register assignments for the interpreter. | 18 | |// Fixed register assignments for the interpreter. |
19 | |// Don't use: r1 = sp, r2 and r13 = reserved and/or small data area ptr | 19 | |// Don't use: r1 = sp, r2 and r13 = reserved (TOC, TLS or SDATA) |
20 | | | 20 | | |
21 | |// The following must be C callee-save (but BASE is often refetched). | 21 | |// The following must be C callee-save (but BASE is often refetched). |
22 | |.define BASE, r14 // Base of current Lua stack frame. | 22 | |.define BASE, r14 // Base of current Lua stack frame. |
@@ -25,6 +25,8 @@ | |||
25 | |.define DISPATCH, r17 // Opcode dispatch table. | 25 | |.define DISPATCH, r17 // Opcode dispatch table. |
26 | |.define LREG, r18 // Register holding lua_State (also in SAVE_L). | 26 | |.define LREG, r18 // Register holding lua_State (also in SAVE_L). |
27 | |.define MULTRES, r19 // Size of multi-result: (nresults+1)*8. | 27 | |.define MULTRES, r19 // Size of multi-result: (nresults+1)*8. |
28 | |.define JGL, r30 // On-trace: global_State + 32768. | ||
29 | |.define JTR, r31 // On-trace: trace number. | ||
28 | | | 30 | | |
29 | |// Constants for type-comparisons, stores and conversions. C callee-save. | 31 | |// Constants for type-comparisons, stores and conversions. C callee-save. |
30 | |.define TISNUM, r22 | 32 | |.define TISNUM, r22 |
@@ -267,12 +269,21 @@ | |||
267 | | | 269 | | |
268 | #define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto)) | 270 | #define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto)) |
269 | | | 271 | | |
272 | |.macro hotcheck, delta, target | ||
273 | | rlwinm TMP1, PC, 31, 25, 30 | ||
274 | | addi TMP1, TMP1, GG_DISP2HOT | ||
275 | | lhzx TMP2, DISPATCH, TMP1 | ||
276 | | addic. TMP2, TMP2, -delta | ||
277 | | sthx TMP2, DISPATCH, TMP1 | ||
278 | | blt target | ||
279 | |.endmacro | ||
280 | | | ||
270 | |.macro hotloop | 281 | |.macro hotloop |
271 | | NYI | 282 | | hotcheck HOTCOUNT_LOOP, ->vm_hotloop |
272 | |.endmacro | 283 | |.endmacro |
273 | | | 284 | | |
274 | |.macro hotcall | 285 | |.macro hotcall |
275 | | NYI | 286 | | hotcheck HOTCOUNT_CALL, ->vm_hotcall |
276 | |.endmacro | 287 | |.endmacro |
277 | | | 288 | | |
278 | |// Set current VM state. Uses TMP0. | 289 | |// Set current VM state. Uses TMP0. |
@@ -2202,7 +2213,18 @@ static void build_subroutines(BuildCtx *ctx) | |||
2202 | | | 2213 | | |
2203 | |->vm_record: // Dispatch target for recording phase. | 2214 | |->vm_record: // Dispatch target for recording phase. |
2204 | #if LJ_HASJIT | 2215 | #if LJ_HASJIT |
2205 | | NYI | 2216 | | lbz TMP3, DISPATCH_GL(hookmask)(DISPATCH) |
2217 | | andi. TMP0, TMP3, HOOK_VMEVENT // No recording while in vmevent. | ||
2218 | | bne >5 | ||
2219 | | // Decrement the hookcount for consistency, but always do the call. | ||
2220 | | lwz TMP2, DISPATCH_GL(hookcount)(DISPATCH) | ||
2221 | | andi. TMP0, TMP3, HOOK_ACTIVE | ||
2222 | | bne >1 | ||
2223 | | subi TMP2, TMP2, 1 | ||
2224 | | andi. TMP0, TMP3, LUA_MASKLINE|LUA_MASKCOUNT | ||
2225 | | beqy >1 | ||
2226 | | stw TMP2, DISPATCH_GL(hookcount)(DISPATCH) | ||
2227 | | b >1 | ||
2206 | #endif | 2228 | #endif |
2207 | | | 2229 | | |
2208 | |->vm_rethook: // Dispatch target for return hooks. | 2230 | |->vm_rethook: // Dispatch target for return hooks. |
@@ -2256,7 +2278,19 @@ static void build_subroutines(BuildCtx *ctx) | |||
2256 | | | 2278 | | |
2257 | |->vm_hotloop: // Hot loop counter underflow. | 2279 | |->vm_hotloop: // Hot loop counter underflow. |
2258 | #if LJ_HASJIT | 2280 | #if LJ_HASJIT |
2259 | | NYI | 2281 | | lwz LFUNC:TMP1, FRAME_FUNC(BASE) |
2282 | | addi CARG1, DISPATCH, GG_DISP2J | ||
2283 | | stw PC, SAVE_PC | ||
2284 | | lwz TMP1, LFUNC:TMP1->pc | ||
2285 | | mr CARG2, PC | ||
2286 | | stw L, DISPATCH_J(L)(DISPATCH) | ||
2287 | | lbz TMP1, PC2PROTO(framesize)(TMP1) | ||
2288 | | stw BASE, L->base | ||
2289 | | slwi TMP1, TMP1, 3 | ||
2290 | | add TMP1, BASE, TMP1 | ||
2291 | | stw TMP1, L->top | ||
2292 | | bl extern lj_trace_hot // (jit_State *J, const BCIns *pc) | ||
2293 | | b <3 | ||
2260 | #endif | 2294 | #endif |
2261 | | | 2295 | | |
2262 | |->vm_callhook: // Dispatch target for call hooks. | 2296 | |->vm_callhook: // Dispatch target for call hooks. |
@@ -2291,13 +2325,111 @@ static void build_subroutines(BuildCtx *ctx) | |||
2291 | |//-- Trace exit handler ------------------------------------------------- | 2325 | |//-- Trace exit handler ------------------------------------------------- |
2292 | |//----------------------------------------------------------------------- | 2326 | |//----------------------------------------------------------------------- |
2293 | | | 2327 | | |
2328 | |.macro savex_, a, b, c, d | ||
2329 | | stfd f..a, 16+a*8(sp) | ||
2330 | | stfd f..b, 16+b*8(sp) | ||
2331 | | stfd f..c, 16+c*8(sp) | ||
2332 | | stfd f..d, 16+d*8(sp) | ||
2333 | |.endmacro | ||
2334 | | | ||
2294 | |->vm_exit_handler: | 2335 | |->vm_exit_handler: |
2295 | #if LJ_HASJIT | 2336 | #if LJ_HASJIT |
2296 | | NYI | 2337 | | addi sp, sp, -(16+32*8+32*4) |
2338 | | stmw r2, 16+32*8+2*4(sp) | ||
2339 | | addi DISPATCH, JGL, -GG_DISP2G-32768 | ||
2340 | | li CARG2, ~LJ_VMST_EXIT | ||
2341 | | lwz CARG1, 16+32*8+32*4(sp) // Get stack chain. | ||
2342 | | stw CARG2, DISPATCH_GL(vmstate)(DISPATCH) | ||
2343 | | savex_ 0,1,2,3 | ||
2344 | | stw CARG1, 0(sp) // Store extended stack chain. | ||
2345 | | mcrxr cr0 // Clear SO flag. | ||
2346 | | savex_ 4,5,6,7 | ||
2347 | | addi CARG2, sp, 16+32*8+32*4 // Recompute original value of sp. | ||
2348 | | savex_ 8,9,10,11 | ||
2349 | | stw CARG2, 16+32*8+1*4(sp) // Store sp in RID_SP. | ||
2350 | | savex_ 12,13,14,15 | ||
2351 | | mflr CARG3 | ||
2352 | | li TMP1, 0 | ||
2353 | | savex_ 16,17,18,19 | ||
2354 | | stw TMP1, 16+32*8+0*4(sp) // Clear RID_TMP. | ||
2355 | | savex_ 20,21,22,23 | ||
2356 | | lwz CARG4, 0(CARG3) // Load exit stub group offset. | ||
2357 | | savex_ 24,25,26,27 | ||
2358 | | lwz L, DISPATCH_GL(jit_L)(DISPATCH) | ||
2359 | | savex_ 28,29,30,31 | ||
2360 | | sub CARG3, TMP0, CARG3 // Compute exit number. | ||
2361 | | lwz BASE, DISPATCH_GL(jit_base)(DISPATCH) | ||
2362 | | srwi CARG3, CARG3, 2 | ||
2363 | | stw L, DISPATCH_J(L)(DISPATCH) | ||
2364 | | subi CARG3, CARG3, 2 | ||
2365 | | stw TMP1, DISPATCH_GL(jit_L)(DISPATCH) | ||
2366 | | add CARG3, CARG4, CARG3 | ||
2367 | | stw BASE, L->base | ||
2368 | | addi CARG1, DISPATCH, GG_DISP2J | ||
2369 | | stw CARG3, DISPATCH_J(exitno)(DISPATCH) | ||
2370 | | addi CARG2, sp, 16 | ||
2371 | | stw JTR, DISPATCH_J(parent)(DISPATCH) | ||
2372 | | bl extern lj_trace_exit // (jit_State *J, ExitState *ex) | ||
2373 | | // Returns MULTRES (unscaled) or negated error code. | ||
2374 | | lwz TMP1, L->cframe | ||
2375 | | lwz TMP2, 0(sp) | ||
2376 | | lwz BASE, L->base | ||
2377 | | rlwinm sp, TMP1, 0, 0, 29 | ||
2378 | | lwz PC, SAVE_PC // Get SAVE_PC. | ||
2379 | | stw TMP2, 0(sp) | ||
2380 | | stw L, SAVE_L // Set SAVE_L (on-trace resume/yield). | ||
2381 | | b >1 | ||
2297 | #endif | 2382 | #endif |
2298 | |->vm_exit_interp: | 2383 | |->vm_exit_interp: |
2299 | #if LJ_HASJIT | 2384 | #if LJ_HASJIT |
2300 | | NYI | 2385 | | // CARG1 = MULTRES or negated error code, BASE, PC and JGL set. |
2386 | | lwz L, SAVE_L | ||
2387 | | addi DISPATCH, JGL, -GG_DISP2G-32768 | ||
2388 | |1: | ||
2389 | | cmpwi CARG1, 0 | ||
2390 | | blt >3 // Check for error from exit. | ||
2391 | | lwz LFUNC:TMP1, FRAME_FUNC(BASE) | ||
2392 | | slwi MULTRES, CARG1, 3 | ||
2393 | | li TMP2, 0 | ||
2394 | | stw MULTRES, SAVE_MULTRES | ||
2395 | | lwz TMP1, LFUNC:TMP1->pc | ||
2396 | | stw TMP2, DISPATCH_GL(jit_L)(DISPATCH) | ||
2397 | | lwz KBASE, PC2PROTO(k)(TMP1) | ||
2398 | | // Setup type comparison constants. | ||
2399 | | li TISNUM, LJ_TISNUM | ||
2400 | | lus TMP3, 0x59c0 // TOBIT = 2^52 + 2^51 (float). | ||
2401 | | stw TMP3, TMPD | ||
2402 | | li ZERO, 0 | ||
2403 | | ori TMP3, TMP3, 0x0004 // TONUM = 2^52 + 2^51 + 2^31 (float). | ||
2404 | | lfs TOBIT, TMPD | ||
2405 | | stw TMP3, TMPD | ||
2406 | | lus TMP0, 0x4338 // Hiword of 2^52 + 2^51 (double) | ||
2407 | | li TISNIL, LJ_TNIL | ||
2408 | | stw TMP0, TONUM_HI | ||
2409 | | lfs TONUM, TMPD | ||
2410 | | // Modified copy of ins_next which handles function header dispatch, too. | ||
2411 | | lwz INS, 0(PC) | ||
2412 | | addi PC, PC, 4 | ||
2413 | | // Assumes TISNIL == ~LJ_VMST_INTERP == -1. | ||
2414 | | stw TISNIL, DISPATCH_GL(vmstate)(DISPATCH) | ||
2415 | | decode_OP4 TMP1, INS | ||
2416 | | decode_RA8 RA, INS | ||
2417 | | lwzx TMP0, DISPATCH, TMP1 | ||
2418 | | mtctr TMP0 | ||
2419 | | cmpwi TMP1, BC_FUNCF*4 // Function header? | ||
2420 | | beq >2 | ||
2421 | | decode_RB8 RB, INS | ||
2422 | | decode_RD8 RD, INS | ||
2423 | | decode_RC8 RC, INS | ||
2424 | | bctr | ||
2425 | |2: | ||
2426 | | add RA, RA, BASE | ||
2427 | | bctr | ||
2428 | | | ||
2429 | |3: // Rethrow error from the right C frame. | ||
2430 | | neg CARG2, CARG1 | ||
2431 | | mr CARG1, L | ||
2432 | | bl extern lj_err_throw // (lua_State *L, int errcode) | ||
2301 | #endif | 2433 | #endif |
2302 | | | 2434 | | |
2303 | |//----------------------------------------------------------------------- | 2435 | |//----------------------------------------------------------------------- |
@@ -2368,7 +2500,24 @@ static void build_subroutines(BuildCtx *ctx) | |||
2368 | |1: | 2500 | |1: |
2369 | | fabs FARG1, FARG1; blr | 2501 | | fabs FARG1, FARG1; blr |
2370 | |2: | 2502 | |2: |
2503 | #if LJ_HASJIT | ||
2504 | | cmplwi CARG1, 9; beq >9; bgt >2 | ||
2505 | | b extern atan2 | ||
2506 | | // No support needed for IR_LDEXP. | ||
2507 | |2: | ||
2508 | | cmplwi CARG1, 11; bgt >9 | ||
2509 | | fsub f0, FARG1, FARG2 | ||
2510 | | beq >1 | ||
2511 | | fsel FARG1, f0, FARG2, FARG1 // IR_MAX | ||
2512 | | blr | ||
2513 | |1: | ||
2514 | | fsel FARG1, f0, FARG1, FARG2 // IR_MIN | ||
2515 | | blr | ||
2516 | |9: | ||
2517 | | NYI // Bad op. | ||
2518 | #else | ||
2371 | | NYI // Other operations only needed by JIT compiler. | 2519 | | NYI // Other operations only needed by JIT compiler. |
2520 | #endif | ||
2372 | | | 2521 | | |
2373 | |//----------------------------------------------------------------------- | 2522 | |//----------------------------------------------------------------------- |
2374 | |//-- Miscellaneous functions -------------------------------------------- | 2523 | |//-- Miscellaneous functions -------------------------------------------- |
@@ -4309,7 +4458,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
4309 | | lwz TMP2, 4(RA) | 4458 | | lwz TMP2, 4(RA) |
4310 | | checknil TMP1; beq >1 // Stop if iterator returned nil. | 4459 | | checknil TMP1; beq >1 // Stop if iterator returned nil. |
4311 | if (op == BC_JITERL) { | 4460 | if (op == BC_JITERL) { |
4312 | | NYI | 4461 | | stw TMP1, -8(RA) |
4462 | | stw TMP2, -4(RA) | ||
4463 | | b =>BC_JLOOP | ||
4313 | } else { | 4464 | } else { |
4314 | | branch_RD // Otherwise save control var + branch. | 4465 | | branch_RD // Otherwise save control var + branch. |
4315 | | stw TMP1, -8(RA) | 4466 | | stw TMP1, -8(RA) |
@@ -4336,7 +4487,17 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
4336 | 4487 | ||
4337 | case BC_JLOOP: | 4488 | case BC_JLOOP: |
4338 | #if LJ_HASJIT | 4489 | #if LJ_HASJIT |
4339 | | NYI | 4490 | | // RA = base*8 (ignored), RD = traceno*8 |
4491 | | lwz TMP1, DISPATCH_J(trace)(DISPATCH) | ||
4492 | | srwi RD, RD, 1 | ||
4493 | | lwzx TRACE:TMP2, TMP1, RD | ||
4494 | | mcrxr cr0 // Clear SO flag. | ||
4495 | | lwz TMP2, TRACE:TMP2->mcode | ||
4496 | | stw BASE, DISPATCH_GL(jit_base)(DISPATCH) | ||
4497 | | mtctr TMP2 | ||
4498 | | stw L, DISPATCH_GL(jit_L)(DISPATCH) | ||
4499 | | addi JGL, DISPATCH, GG_DISP2G+32768 | ||
4500 | | bctr | ||
4340 | #endif | 4501 | #endif |
4341 | break; | 4502 | break; |
4342 | 4503 | ||
@@ -4368,12 +4529,15 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
4368 | | cmplw RA, TMP2 | 4529 | | cmplw RA, TMP2 |
4369 | | slwi TMP1, TMP1, 3 | 4530 | | slwi TMP1, TMP1, 3 |
4370 | | bgt ->vm_growstack_l | 4531 | | bgt ->vm_growstack_l |
4371 | | ins_next1 | 4532 | if (op != BC_JFUNCF) { |
4533 | | ins_next1 | ||
4534 | } | ||
4372 | |2: | 4535 | |2: |
4373 | | cmplw NARGS8:RC, TMP1 // Check for missing parameters. | 4536 | | cmplw NARGS8:RC, TMP1 // Check for missing parameters. |
4374 | | ble >3 | 4537 | | ble >3 |
4375 | if (op == BC_JFUNCF) { | 4538 | if (op == BC_JFUNCF) { |
4376 | | NYI | 4539 | | decode_RD8 RD, INS |
4540 | | b =>BC_JLOOP | ||
4377 | } else { | 4541 | } else { |
4378 | | ins_next2 | 4542 | | ins_next2 |
4379 | } | 4543 | } |
diff --git a/src/buildvm_ppc.h b/src/buildvm_ppc.h index 87a838fd..af217215 100644 --- a/src/buildvm_ppc.h +++ b/src/buildvm_ppc.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 |
15 | static const unsigned int build_actionlist[7267] = { | 15 | static const unsigned int build_actionlist[7562] = { |
16 | 0x00010001, | 16 | 0x00010001, |
17 | 0x00060014, | 17 | 0x00060014, |
18 | 0x72000000, | 18 | 0x72000000, |
@@ -38,7 +38,7 @@ static const unsigned int build_actionlist[7267] = { | |||
38 | 0x38000000, | 38 | 0x38000000, |
39 | 0x00098200, | 39 | 0x00098200, |
40 | 0x7d297050, | 40 | 0x7d297050, |
41 | 0x40820000, | 41 | 0x40a20000, |
42 | 0x00050814, | 42 | 0x00050814, |
43 | 0x350cfff8, | 43 | 0x350cfff8, |
44 | 0x91320000, | 44 | 0x91320000, |
@@ -57,7 +57,7 @@ static const unsigned int build_actionlist[7267] = { | |||
57 | 0x3a940008, | 57 | 0x3a940008, |
58 | 0xd80e0000, | 58 | 0xd80e0000, |
59 | 0x39ce0008, | 59 | 0x39ce0008, |
60 | 0x40820000, | 60 | 0x40a20000, |
61 | 0x0005080b, | 61 | 0x0005080b, |
62 | 0x0006000c, | 62 | 0x0006000c, |
63 | 0x7c096000, | 63 | 0x7c096000, |
@@ -779,7 +779,7 @@ static const unsigned int build_actionlist[7267] = { | |||
779 | 0x7ca82050, | 779 | 0x7ca82050, |
780 | 0x54f4dd78, | 780 | 0x54f4dd78, |
781 | 0xd8040000, | 781 | 0xd8040000, |
782 | 0x40820000, | 782 | 0x40a20000, |
783 | 0x0005082a, | 783 | 0x0005082a, |
784 | 0x7c0ea5ae, | 784 | 0x7c0ea5ae, |
785 | 0x48000000, | 785 | 0x48000000, |
@@ -1174,7 +1174,7 @@ static const unsigned int build_actionlist[7267] = { | |||
1174 | 0x00000000, | 1174 | 0x00000000, |
1175 | 0x56ac9b78, | 1175 | 0x56ac9b78, |
1176 | 0x00000000, | 1176 | 0x00000000, |
1177 | 0x41820000, | 1177 | 0x41a20000, |
1178 | 0x00070800, | 1178 | 0x00070800, |
1179 | 0x00000000, | 1179 | 0x00000000, |
1180 | 0x48000000, | 1180 | 0x48000000, |
@@ -1204,7 +1204,7 @@ static const unsigned int build_actionlist[7267] = { | |||
1204 | 0x7c0e44ae, | 1204 | 0x7c0e44ae, |
1205 | 0x7c1445ae, | 1205 | 0x7c1445ae, |
1206 | 0x39080008, | 1206 | 0x39080008, |
1207 | 0x40820000, | 1207 | 0x40a20000, |
1208 | 0x0005080b, | 1208 | 0x0005080b, |
1209 | 0x48000000, | 1209 | 0x48000000, |
1210 | 0x00050049, | 1210 | 0x00050049, |
@@ -1971,7 +1971,7 @@ static const unsigned int build_actionlist[7267] = { | |||
1971 | 0x72000000, | 1971 | 0x72000000, |
1972 | 0x00090200, | 1972 | 0x00090200, |
1973 | 0x7d936378, | 1973 | 0x7d936378, |
1974 | 0x40820000, | 1974 | 0x40a20000, |
1975 | 0x00050818, | 1975 | 0x00050818, |
1976 | 0x80f0fffc, | 1976 | 0x80f0fffc, |
1977 | 0x54ea5d78, | 1977 | 0x54ea5d78, |
@@ -2005,7 +2005,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2005 | 0x41800000, | 2005 | 0x41800000, |
2006 | 0x00050848, | 2006 | 0x00050848, |
2007 | 0x7c05b040, | 2007 | 0x7c05b040, |
2008 | 0x41820000, | 2008 | 0x41a20000, |
2009 | 0x0005084d, | 2009 | 0x0005084d, |
2010 | 0x54a9657e, | 2010 | 0x54a9657e, |
2011 | 0x40800000, | 2011 | 0x40800000, |
@@ -2054,7 +2054,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2054 | 0x7d084b39, | 2054 | 0x7d084b39, |
2055 | 0x4c423202, | 2055 | 0x4c423202, |
2056 | 0x3c608000, | 2056 | 0x3c608000, |
2057 | 0x41820000, | 2057 | 0x41a20000, |
2058 | 0x0005085d, | 2058 | 0x0005085d, |
2059 | 0x0006000f, | 2059 | 0x0006000f, |
2060 | 0xc82e0000, | 2060 | 0xc82e0000, |
@@ -2069,7 +2069,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2069 | 0x41800000, | 2069 | 0x41800000, |
2070 | 0x00050848, | 2070 | 0x00050848, |
2071 | 0x7c05b040, | 2071 | 0x7c05b040, |
2072 | 0x41820000, | 2072 | 0x41a20000, |
2073 | 0x0005084d, | 2073 | 0x0005084d, |
2074 | 0x54a9657e, | 2074 | 0x54a9657e, |
2075 | 0x40800000, | 2075 | 0x40800000, |
@@ -2104,7 +2104,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2104 | 0x40830000, | 2104 | 0x40830000, |
2105 | 0x0005085d, | 2105 | 0x0005085d, |
2106 | 0x7c000400, | 2106 | 0x7c000400, |
2107 | 0x40810000, | 2107 | 0x40a10000, |
2108 | 0x0005085d, | 2108 | 0x0005085d, |
2109 | 0x3ca041e0, | 2109 | 0x3ca041e0, |
2110 | 0x38600000, | 2110 | 0x38600000, |
@@ -2125,7 +2125,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2125 | 0x7d084b39, | 2125 | 0x7d084b39, |
2126 | 0x4c423202, | 2126 | 0x4c423202, |
2127 | 0x3c608000, | 2127 | 0x3c608000, |
2128 | 0x41820000, | 2128 | 0x41a20000, |
2129 | 0x0005085d, | 2129 | 0x0005085d, |
2130 | 0x0006000f, | 2130 | 0x0006000f, |
2131 | 0xc82e0000, | 2131 | 0xc82e0000, |
@@ -2717,7 +2717,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2717 | 0x820efff8, | 2717 | 0x820efff8, |
2718 | 0x28000000, | 2718 | 0x28000000, |
2719 | 0x3a8efff8, | 2719 | 0x3a8efff8, |
2720 | 0x41820000, | 2720 | 0x41a20000, |
2721 | 0x00050849, | 2721 | 0x00050849, |
2722 | 0x48000000, | 2722 | 0x48000000, |
2723 | 0x0005005d, | 2723 | 0x0005005d, |
@@ -2982,7 +2982,7 @@ static const unsigned int build_actionlist[7267] = { | |||
2982 | 0x0006000b, | 2982 | 0x0006000b, |
2983 | 0x2c060000, | 2983 | 0x2c060000, |
2984 | 0x7d0348ae, | 2984 | 0x7d0348ae, |
2985 | 0x41800000, | 2985 | 0x41a00000, |
2986 | 0x0005087b, | 2986 | 0x0005087b, |
2987 | 0x7d0431ae, | 2987 | 0x7d0431ae, |
2988 | 0x38c6ffff, | 2988 | 0x38c6ffff, |
@@ -3021,7 +3021,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3021 | 0x0006000b, | 3021 | 0x0006000b, |
3022 | 0x7c092840, | 3022 | 0x7c092840, |
3023 | 0x7d0348ae, | 3023 | 0x7d0348ae, |
3024 | 0x40800000, | 3024 | 0x40a00000, |
3025 | 0x0005087b, | 3025 | 0x0005087b, |
3026 | 0x00000000, | 3026 | 0x00000000, |
3027 | 0x3808ffbf, | 3027 | 0x3808ffbf, |
@@ -3066,7 +3066,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3066 | 0x0006000b, | 3066 | 0x0006000b, |
3067 | 0x7c092840, | 3067 | 0x7c092840, |
3068 | 0x7d0348ae, | 3068 | 0x7d0348ae, |
3069 | 0x40800000, | 3069 | 0x40a00000, |
3070 | 0x0005087b, | 3070 | 0x0005087b, |
3071 | 0x3808ff9f, | 3071 | 0x3808ff9f, |
3072 | 0x69060020, | 3072 | 0x69060020, |
@@ -3126,7 +3126,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3126 | 0x00000000, | 3126 | 0x00000000, |
3127 | 0xc8280000, | 3127 | 0xc8280000, |
3128 | 0x00000000, | 3128 | 0x00000000, |
3129 | 0x40840000, | 3129 | 0x40a40000, |
3130 | 0x0005085d, | 3130 | 0x0005085d, |
3131 | 0x7c06b040, | 3131 | 0x7c06b040, |
3132 | 0x00000000, | 3132 | 0x00000000, |
@@ -3177,7 +3177,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3177 | 0x00000000, | 3177 | 0x00000000, |
3178 | 0xc8280000, | 3178 | 0xc8280000, |
3179 | 0x00000000, | 3179 | 0x00000000, |
3180 | 0x40840000, | 3180 | 0x40a40000, |
3181 | 0x0005085d, | 3181 | 0x0005085d, |
3182 | 0x7c06b040, | 3182 | 0x7c06b040, |
3183 | 0x00000000, | 3183 | 0x00000000, |
@@ -3228,7 +3228,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3228 | 0x00000000, | 3228 | 0x00000000, |
3229 | 0xc8280000, | 3229 | 0xc8280000, |
3230 | 0x00000000, | 3230 | 0x00000000, |
3231 | 0x40840000, | 3231 | 0x40a40000, |
3232 | 0x0005085d, | 3232 | 0x0005085d, |
3233 | 0x7c06b040, | 3233 | 0x7c06b040, |
3234 | 0x00000000, | 3234 | 0x00000000, |
@@ -3654,7 +3654,27 @@ static const unsigned int build_actionlist[7267] = { | |||
3654 | 0x4e800020, | 3654 | 0x4e800020, |
3655 | 0x0006008f, | 3655 | 0x0006008f, |
3656 | 0x00000000, | 3656 | 0x00000000, |
3657 | 0x7c810808, | 3657 | 0x88d10000, |
3658 | 0x00098200, | ||
3659 | 0x70c00000, | ||
3660 | 0x00090200, | ||
3661 | 0x40820000, | ||
3662 | 0x00050805, | ||
3663 | 0x81310000, | ||
3664 | 0x00098200, | ||
3665 | 0x70c00000, | ||
3666 | 0x00090200, | ||
3667 | 0x40820000, | ||
3668 | 0x00050801, | ||
3669 | 0x3929ffff, | ||
3670 | 0x70c00000, | ||
3671 | 0x00090200, | ||
3672 | 0x41a20000, | ||
3673 | 0x00050801, | ||
3674 | 0x91310000, | ||
3675 | 0x00098200, | ||
3676 | 0x48000000, | ||
3677 | 0x00050001, | ||
3658 | 0x00000000, | 3678 | 0x00000000, |
3659 | 0x00060090, | 3679 | 0x00060090, |
3660 | 0x88d10000, | 3680 | 0x88d10000, |
@@ -3721,7 +3741,28 @@ static const unsigned int build_actionlist[7267] = { | |||
3721 | 0x0005000e, | 3741 | 0x0005000e, |
3722 | 0x00060093, | 3742 | 0x00060093, |
3723 | 0x00000000, | 3743 | 0x00000000, |
3724 | 0x7c810808, | 3744 | 0x810efffc, |
3745 | 0x38710000, | ||
3746 | 0x00098200, | ||
3747 | 0x92010020, | ||
3748 | 0x81080000, | ||
3749 | 0x00098200, | ||
3750 | 0x7e048378, | ||
3751 | 0x92510000, | ||
3752 | 0x00098200, | ||
3753 | 0x89080000, | ||
3754 | 0x00098200, | ||
3755 | 0x91d20000, | ||
3756 | 0x00098200, | ||
3757 | 0x55081800, | ||
3758 | 0x000900a1, | ||
3759 | 0x7d0e4214, | ||
3760 | 0x91120000, | ||
3761 | 0x00098200, | ||
3762 | 0x48000001, | ||
3763 | 0x00030029, | ||
3764 | 0x48000000, | ||
3765 | 0x0005000d, | ||
3725 | 0x00000000, | 3766 | 0x00000000, |
3726 | 0x00060094, | 3767 | 0x00060094, |
3727 | 0x7e048378, | 3768 | 0x7e048378, |
@@ -3743,7 +3784,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3743 | 0x90120000, | 3784 | 0x90120000, |
3744 | 0x00098200, | 3785 | 0x00098200, |
3745 | 0x48000001, | 3786 | 0x48000001, |
3746 | 0x00030029, | 3787 | 0x0003002a, |
3747 | 0x81d20000, | 3788 | 0x81d20000, |
3748 | 0x00098200, | 3789 | 0x00098200, |
3749 | 0x80120000, | 3790 | 0x80120000, |
@@ -3756,11 +3797,188 @@ static const unsigned int build_actionlist[7267] = { | |||
3756 | 0x4e800420, | 3797 | 0x4e800420, |
3757 | 0x00060096, | 3798 | 0x00060096, |
3758 | 0x00000000, | 3799 | 0x00000000, |
3759 | 0x7c810808, | 3800 | 0x38210000, |
3801 | 0x00098200, | ||
3802 | 0xbc410000, | ||
3803 | 0x00098200, | ||
3804 | 0x3a3e0000, | ||
3805 | 0x00098200, | ||
3806 | 0x38800000, | ||
3807 | 0x00098200, | ||
3808 | 0x80610000, | ||
3809 | 0x00098200, | ||
3810 | 0x90910000, | ||
3811 | 0x00098200, | ||
3812 | 0xd8010000, | ||
3813 | 0x00098200, | ||
3814 | 0xd8210000, | ||
3815 | 0x00098200, | ||
3816 | 0xd8410000, | ||
3817 | 0x00098200, | ||
3818 | 0xd8610000, | ||
3819 | 0x00098200, | ||
3820 | 0x90610000, | ||
3821 | 0x7c000400, | ||
3822 | 0xd8810000, | ||
3823 | 0x00098200, | ||
3824 | 0xd8a10000, | ||
3825 | 0x00098200, | ||
3826 | 0xd8c10000, | ||
3827 | 0x00098200, | ||
3828 | 0xd8e10000, | ||
3829 | 0x00098200, | ||
3830 | 0x38810000, | ||
3831 | 0x00098200, | ||
3832 | 0xd9010000, | ||
3833 | 0x00098200, | ||
3834 | 0xd9210000, | ||
3835 | 0x00098200, | ||
3836 | 0xd9410000, | ||
3837 | 0x00098200, | ||
3838 | 0xd9610000, | ||
3839 | 0x00098200, | ||
3840 | 0x90810000, | ||
3841 | 0x00098200, | ||
3842 | 0xd9810000, | ||
3843 | 0x00098200, | ||
3844 | 0xd9a10000, | ||
3845 | 0x00098200, | ||
3846 | 0x00000000, | ||
3847 | 0xd9c10000, | ||
3848 | 0x00098200, | ||
3849 | 0xd9e10000, | ||
3850 | 0x00098200, | ||
3851 | 0x7ca802a6, | ||
3852 | 0x39000000, | ||
3853 | 0xda010000, | ||
3854 | 0x00098200, | ||
3855 | 0xda210000, | ||
3856 | 0x00098200, | ||
3857 | 0xda410000, | ||
3858 | 0x00098200, | ||
3859 | 0xda610000, | ||
3860 | 0x00098200, | ||
3861 | 0x91010000, | ||
3862 | 0x00098200, | ||
3863 | 0xda810000, | ||
3864 | 0x00098200, | ||
3865 | 0xdaa10000, | ||
3866 | 0x00098200, | ||
3867 | 0xdac10000, | ||
3868 | 0x00098200, | ||
3869 | 0xdae10000, | ||
3870 | 0x00098200, | ||
3871 | 0x80c50000, | ||
3872 | 0xdb010000, | ||
3873 | 0x00098200, | ||
3874 | 0xdb210000, | ||
3875 | 0x00098200, | ||
3876 | 0xdb410000, | ||
3877 | 0x00098200, | ||
3878 | 0xdb610000, | ||
3879 | 0x00098200, | ||
3880 | 0x82510000, | ||
3881 | 0x00098200, | ||
3882 | 0xdb810000, | ||
3883 | 0x00098200, | ||
3884 | 0xdba10000, | ||
3885 | 0x00098200, | ||
3886 | 0xdbc10000, | ||
3887 | 0x00098200, | ||
3888 | 0xdbe10000, | ||
3889 | 0x00098200, | ||
3890 | 0x7ca50050, | ||
3891 | 0x81d10000, | ||
3892 | 0x00098200, | ||
3893 | 0x54a500be, | ||
3894 | 0x000900ab, | ||
3895 | 0x00000000, | ||
3896 | 0x92510000, | ||
3897 | 0x00098200, | ||
3898 | 0x38a5fffe, | ||
3899 | 0x91110000, | ||
3900 | 0x00098200, | ||
3901 | 0x7ca62a14, | ||
3902 | 0x91d20000, | ||
3903 | 0x00098200, | ||
3904 | 0x38710000, | ||
3905 | 0x00098200, | ||
3906 | 0x90b10000, | ||
3907 | 0x00098200, | ||
3908 | 0x38810010, | ||
3909 | 0x93f10000, | ||
3910 | 0x00098200, | ||
3911 | 0x48000001, | ||
3912 | 0x0003002b, | ||
3913 | 0x81120000, | ||
3914 | 0x00098200, | ||
3915 | 0x81210000, | ||
3916 | 0x81d20000, | ||
3917 | 0x00098200, | ||
3918 | 0x5501003a, | ||
3919 | 0x82010020, | ||
3920 | 0x91210000, | ||
3921 | 0x92410024, | ||
3922 | 0x48000000, | ||
3923 | 0x00050001, | ||
3760 | 0x00000000, | 3924 | 0x00000000, |
3761 | 0x00060097, | 3925 | 0x00060097, |
3762 | 0x00000000, | 3926 | 0x00000000, |
3763 | 0x7c810808, | 3927 | 0x82410024, |
3928 | 0x3a3e0000, | ||
3929 | 0x00098200, | ||
3930 | 0x0006000b, | ||
3931 | 0x2c030000, | ||
3932 | 0x41800000, | ||
3933 | 0x00050803, | ||
3934 | 0x810efffc, | ||
3935 | 0x54731800, | ||
3936 | 0x000900a1, | ||
3937 | 0x39200000, | ||
3938 | 0x9261001c, | ||
3939 | 0x81080000, | ||
3940 | 0x00098200, | ||
3941 | 0x91310000, | ||
3942 | 0x00098200, | ||
3943 | 0x81e80000, | ||
3944 | 0x00098200, | ||
3945 | 0x3ac00000, | ||
3946 | 0x00098200, | ||
3947 | 0x3cc059c0, | ||
3948 | 0x90c10010, | ||
3949 | 0x3b000000, | ||
3950 | 0x60c60004, | ||
3951 | 0xc3c10010, | ||
3952 | 0x90c10010, | ||
3953 | 0x3c004338, | ||
3954 | 0x3ae00000, | ||
3955 | 0x00098200, | ||
3956 | 0x90010008, | ||
3957 | 0xc3e10010, | ||
3958 | 0x80f00000, | ||
3959 | 0x3a100004, | ||
3960 | 0x92f10000, | ||
3961 | 0x00098200, | ||
3962 | 0x54e815ba, | ||
3963 | 0x54f4dd78, | ||
3964 | 0x7c11402e, | ||
3965 | 0x7c0903a6, | ||
3966 | 0x2c080000, | ||
3967 | 0x00098200, | ||
3968 | 0x41820000, | ||
3969 | 0x00050802, | ||
3970 | 0x54ea5d78, | ||
3971 | 0x54ec9b78, | ||
3972 | 0x54eb9d78, | ||
3973 | 0x4e800420, | ||
3974 | 0x0006000c, | ||
3975 | 0x7e947214, | ||
3976 | 0x4e800420, | ||
3977 | 0x0006000d, | ||
3978 | 0x7c8300d0, | ||
3979 | 0x7e439378, | ||
3980 | 0x48000001, | ||
3981 | 0x0003002c, | ||
3764 | 0x00000000, | 3982 | 0x00000000, |
3765 | 0x00060098, | 3983 | 0x00060098, |
3766 | 0x48000000, | 3984 | 0x48000000, |
@@ -3771,11 +3989,12 @@ static const unsigned int build_actionlist[7267] = { | |||
3771 | 0x0006009a, | 3989 | 0x0006009a, |
3772 | 0x00000000, | 3990 | 0x00000000, |
3773 | 0x48000000, | 3991 | 0x48000000, |
3774 | 0x0003002a, | 3992 | 0x0003002d, |
3775 | 0x00000000, | 3993 | 0x00000000, |
3776 | 0x0006009b, | 3994 | 0x0006009b, |
3777 | 0x7c0327d7, | 3995 | 0x7c0327d7, |
3778 | 0x4d830020, | 3996 | 0x41830000, |
3997 | 0x00050801, | ||
3779 | 0x7c652279, | 3998 | 0x7c652279, |
3780 | 0x7c0021d6, | 3999 | 0x7c0021d6, |
3781 | 0x7c601850, | 4000 | 0x7c601850, |
@@ -3784,15 +4003,13 @@ static const unsigned int build_actionlist[7267] = { | |||
3784 | 0x4d820020, | 4003 | 0x4d820020, |
3785 | 0x7c632214, | 4004 | 0x7c632214, |
3786 | 0x4e800020, | 4005 | 0x4e800020, |
4006 | 0x0006000b, | ||
4007 | 0x2c040000, | ||
4008 | 0x38600000, | ||
4009 | 0x4d820020, | ||
4010 | 0x7c000400, | ||
4011 | 0x4e800020, | ||
3787 | 0x0006009c, | 4012 | 0x0006009c, |
3788 | 0x00000000, | ||
3789 | 0x7c810808, | ||
3790 | 0x00000000, | ||
3791 | 0x0006009d, | ||
3792 | 0x00000000, | ||
3793 | 0x7c810808, | ||
3794 | 0x00000000, | ||
3795 | 0x0006009e, | ||
3796 | 0x28030001, | 4013 | 0x28030001, |
3797 | 0x41820000, | 4014 | 0x41820000, |
3798 | 0x00050801, | 4015 | 0x00050801, |
@@ -3853,8 +4070,32 @@ static const unsigned int build_actionlist[7267] = { | |||
3853 | 0xfc200a10, | 4070 | 0xfc200a10, |
3854 | 0x4e800020, | 4071 | 0x4e800020, |
3855 | 0x0006000c, | 4072 | 0x0006000c, |
4073 | 0x00000000, | ||
4074 | 0x28030009, | ||
4075 | 0x41820000, | ||
4076 | 0x00050809, | ||
4077 | 0x41810000, | ||
4078 | 0x00050802, | ||
4079 | 0x48000000, | ||
4080 | 0x00030020, | ||
4081 | 0x0006000c, | ||
4082 | 0x2803000b, | ||
4083 | 0x41810000, | ||
4084 | 0x00050809, | ||
4085 | 0xfc011028, | ||
4086 | 0x41820000, | ||
4087 | 0x00050801, | ||
4088 | 0xfc2008ae, | ||
4089 | 0x4e800020, | ||
4090 | 0x0006000b, | ||
4091 | 0xfc20106e, | ||
4092 | 0x4e800020, | ||
4093 | 0x00060013, | ||
3856 | 0x7c810808, | 4094 | 0x7c810808, |
3857 | 0x0006009f, | 4095 | 0x00000000, |
4096 | 0x7c810808, | ||
4097 | 0x00000000, | ||
4098 | 0x0006009d, | ||
3858 | 0x00000000, | 4099 | 0x00000000, |
3859 | 0x81030000, | 4100 | 0x81030000, |
3860 | 0x00098200, | 4101 | 0x00098200, |
@@ -3876,7 +4117,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3876 | 0x00098200, | 4117 | 0x00098200, |
3877 | 0x54841000, | 4118 | 0x54841000, |
3878 | 0x000900a1, | 4119 | 0x000900a1, |
3879 | 0x41800000, | 4120 | 0x41a00000, |
3880 | 0x00050802, | 4121 | 0x00050802, |
3881 | 0x39210008, | 4122 | 0x39210008, |
3882 | 0x0006000b, | 4123 | 0x0006000b, |
@@ -3886,7 +4127,7 @@ static const unsigned int build_actionlist[7267] = { | |||
3886 | 0x40800000, | 4127 | 0x40800000, |
3887 | 0x0005080b, | 4128 | 0x0005080b, |
3888 | 0x0006000c, | 4129 | 0x0006000c, |
3889 | 0x40860000, | 4130 | 0x40a60000, |
3890 | 0x00050803, | 4131 | 0x00050803, |
3891 | 0xc8230000, | 4132 | 0xc8230000, |
3892 | 0x00098200, | 4133 | 0x00098200, |
@@ -4088,10 +4329,10 @@ static const unsigned int build_actionlist[7267] = { | |||
4088 | 0x00098200, | 4329 | 0x00098200, |
4089 | 0x00000000, | 4330 | 0x00000000, |
4090 | 0x409d0000, | 4331 | 0x409d0000, |
4091 | 0x000508a0, | 4332 | 0x0005089e, |
4092 | 0x00000000, | 4333 | 0x00000000, |
4093 | 0x409d0000, | 4334 | 0x409d0000, |
4094 | 0x000508a1, | 4335 | 0x0005089f, |
4095 | 0x00000000, | 4336 | 0x00000000, |
4096 | 0x7c14706e, | 4337 | 0x7c14706e, |
4097 | 0x81300000, | 4338 | 0x81300000, |
@@ -4262,9 +4503,9 @@ static const unsigned int build_actionlist[7267] = { | |||
4262 | 0x3d290000, | 4503 | 0x3d290000, |
4263 | 0x00098200, | 4504 | 0x00098200, |
4264 | 0x00000000, | 4505 | 0x00000000, |
4265 | 0x000600a0, | 4506 | 0x0006009e, |
4266 | 0x00000000, | 4507 | 0x00000000, |
4267 | 0x000600a1, | 4508 | 0x0006009f, |
4268 | 0x00000000, | 4509 | 0x00000000, |
4269 | 0x40820000, | 4510 | 0x40820000, |
4270 | 0x00050807, | 4511 | 0x00050807, |
@@ -4273,9 +4514,9 @@ static const unsigned int build_actionlist[7267] = { | |||
4273 | 0x7c042800, | 4514 | 0x7c042800, |
4274 | 0x0006000e, | 4515 | 0x0006000e, |
4275 | 0x00000000, | 4516 | 0x00000000, |
4276 | 0x000600a0, | 4517 | 0x0006009e, |
4277 | 0x00000000, | 4518 | 0x00000000, |
4278 | 0x000600a1, | 4519 | 0x0006009f, |
4279 | 0x00000000, | 4520 | 0x00000000, |
4280 | 0x7c0ea02e, | 4521 | 0x7c0ea02e, |
4281 | 0x3a100004, | 4522 | 0x3a100004, |
@@ -4486,7 +4727,7 @@ static const unsigned int build_actionlist[7267] = { | |||
4486 | 0x4e800420, | 4727 | 0x4e800420, |
4487 | 0x0006000e, | 4728 | 0x0006000e, |
4488 | 0x7c000400, | 4729 | 0x7c000400, |
4489 | 0x40810000, | 4730 | 0x40a10000, |
4490 | 0x0005080b, | 4731 | 0x0005080b, |
4491 | 0x3d0041e0, | 4732 | 0x3d0041e0, |
4492 | 0x38000000, | 4733 | 0x38000000, |
@@ -4616,7 +4857,7 @@ static const unsigned int build_actionlist[7267] = { | |||
4616 | 0x4e800420, | 4857 | 0x4e800420, |
4617 | 0x0006000e, | 4858 | 0x0006000e, |
4618 | 0x7c000400, | 4859 | 0x7c000400, |
4619 | 0x40810000, | 4860 | 0x40a10000, |
4620 | 0x0005080b, | 4861 | 0x0005080b, |
4621 | 0x00000000, | 4862 | 0x00000000, |
4622 | 0x48000000, | 4863 | 0x48000000, |
@@ -4753,7 +4994,7 @@ static const unsigned int build_actionlist[7267] = { | |||
4753 | 0x4e800420, | 4994 | 0x4e800420, |
4754 | 0x0006000e, | 4995 | 0x0006000e, |
4755 | 0x7c000400, | 4996 | 0x7c000400, |
4756 | 0x40810000, | 4997 | 0x40a10000, |
4757 | 0x0005080b, | 4998 | 0x0005080b, |
4758 | 0x00000000, | 4999 | 0x00000000, |
4759 | 0x48000000, | 5000 | 0x48000000, |
@@ -4890,7 +5131,7 @@ static const unsigned int build_actionlist[7267] = { | |||
4890 | 0x4e800420, | 5131 | 0x4e800420, |
4891 | 0x0006000e, | 5132 | 0x0006000e, |
4892 | 0x7c000400, | 5133 | 0x7c000400, |
4893 | 0x40810000, | 5134 | 0x40a10000, |
4894 | 0x0005080b, | 5135 | 0x0005080b, |
4895 | 0x00000000, | 5136 | 0x00000000, |
4896 | 0x48000000, | 5137 | 0x48000000, |
@@ -5085,7 +5326,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5085 | 0x4e800420, | 5326 | 0x4e800420, |
5086 | 0x0006000e, | 5327 | 0x0006000e, |
5087 | 0x7c000400, | 5328 | 0x7c000400, |
5088 | 0x40810000, | 5329 | 0x40a10000, |
5089 | 0x0005080b, | 5330 | 0x0005080b, |
5090 | 0x00000000, | 5331 | 0x00000000, |
5091 | 0x48000000, | 5332 | 0x48000000, |
@@ -5116,7 +5357,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5116 | 0x40800000, | 5357 | 0x40800000, |
5117 | 0x00050841, | 5358 | 0x00050841, |
5118 | 0x00000000, | 5359 | 0x00000000, |
5119 | 0x000600a2, | 5360 | 0x000600a0, |
5120 | 0xfc2e7824, | 5361 | 0xfc2e7824, |
5121 | 0x48000001, | 5362 | 0x48000001, |
5122 | 0x00030010, | 5363 | 0x00030010, |
@@ -5172,7 +5413,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5172 | 0x40800000, | 5413 | 0x40800000, |
5173 | 0x0005083f, | 5414 | 0x0005083f, |
5174 | 0x00000000, | 5415 | 0x00000000, |
5175 | 0x000600a2, | 5416 | 0x000600a0, |
5176 | 0xfc2e7824, | 5417 | 0xfc2e7824, |
5177 | 0x48000001, | 5418 | 0x48000001, |
5178 | 0x00030010, | 5419 | 0x00030010, |
@@ -5233,7 +5474,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5233 | 0x4e800420, | 5474 | 0x4e800420, |
5234 | 0x0006000e, | 5475 | 0x0006000e, |
5235 | 0x7c000400, | 5476 | 0x7c000400, |
5236 | 0x40810000, | 5477 | 0x40a10000, |
5237 | 0x0005080b, | 5478 | 0x0005080b, |
5238 | 0x00000000, | 5479 | 0x00000000, |
5239 | 0x48000000, | 5480 | 0x48000000, |
@@ -5265,7 +5506,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5265 | 0x00050841, | 5506 | 0x00050841, |
5266 | 0x00000000, | 5507 | 0x00000000, |
5267 | 0x48000000, | 5508 | 0x48000000, |
5268 | 0x000500a2, | 5509 | 0x000500a0, |
5269 | 0x00000000, | 5510 | 0x00000000, |
5270 | 0x7d0e502e, | 5511 | 0x7d0e502e, |
5271 | 0x00000000, | 5512 | 0x00000000, |
@@ -5312,7 +5553,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5312 | 0x0005083f, | 5553 | 0x0005083f, |
5313 | 0x00000000, | 5554 | 0x00000000, |
5314 | 0x48000000, | 5555 | 0x48000000, |
5315 | 0x000500a2, | 5556 | 0x000500a0, |
5316 | 0x00000000, | 5557 | 0x00000000, |
5317 | 0x7d0e502e, | 5558 | 0x7d0e502e, |
5318 | 0x7c2e54ae, | 5559 | 0x7c2e54ae, |
@@ -5348,7 +5589,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5348 | 0x54a500fe, | 5589 | 0x54a500fe, |
5349 | 0x000900ab, | 5590 | 0x000900ab, |
5350 | 0x48000001, | 5591 | 0x48000001, |
5351 | 0x0003002b, | 5592 | 0x0003002e, |
5352 | 0x28030000, | 5593 | 0x28030000, |
5353 | 0x81d20000, | 5594 | 0x81d20000, |
5354 | 0x00098200, | 5595 | 0x00098200, |
@@ -5566,7 +5807,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5566 | 0x41820000, | 5807 | 0x41820000, |
5567 | 0x0005080b, | 5808 | 0x0005080b, |
5568 | 0x48000001, | 5809 | 0x48000001, |
5569 | 0x0003002c, | 5810 | 0x0003002f, |
5570 | 0x48000000, | 5811 | 0x48000000, |
5571 | 0x0005000b, | 5812 | 0x0005000b, |
5572 | 0x00000000, | 5813 | 0x00000000, |
@@ -5617,7 +5858,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5617 | 0x41820000, | 5858 | 0x41820000, |
5618 | 0x0005080b, | 5859 | 0x0005080b, |
5619 | 0x48000001, | 5860 | 0x48000001, |
5620 | 0x0003002c, | 5861 | 0x0003002f, |
5621 | 0x48000000, | 5862 | 0x48000000, |
5622 | 0x0005000b, | 5863 | 0x0005000b, |
5623 | 0x00000000, | 5864 | 0x00000000, |
@@ -5680,7 +5921,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5680 | 0x00050801, | 5921 | 0x00050801, |
5681 | 0x7c8ea214, | 5922 | 0x7c8ea214, |
5682 | 0x48000001, | 5923 | 0x48000001, |
5683 | 0x0003002d, | 5924 | 0x00030030, |
5684 | 0x81d20000, | 5925 | 0x81d20000, |
5685 | 0x00098200, | 5926 | 0x00098200, |
5686 | 0x0006000b, | 5927 | 0x0006000b, |
@@ -5705,7 +5946,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5705 | 0x7e439378, | 5946 | 0x7e439378, |
5706 | 0x80aefffc, | 5947 | 0x80aefffc, |
5707 | 0x48000001, | 5948 | 0x48000001, |
5708 | 0x0003002e, | 5949 | 0x00030031, |
5709 | 0x81d20000, | 5950 | 0x81d20000, |
5710 | 0x00098200, | 5951 | 0x00098200, |
5711 | 0x38000000, | 5952 | 0x38000000, |
@@ -5743,14 +5984,14 @@ static const unsigned int build_actionlist[7267] = { | |||
5743 | 0x00050803, | 5984 | 0x00050803, |
5744 | 0x0006000c, | 5985 | 0x0006000c, |
5745 | 0x48000001, | 5986 | 0x48000001, |
5746 | 0x0003002f, | 5987 | 0x00030032, |
5747 | 0x00000000, | 5988 | 0x00000000, |
5748 | 0x5588007e, | 5989 | 0x5588007e, |
5749 | 0x000900ab, | 5990 | 0x000900ab, |
5750 | 0x2108fffc, | 5991 | 0x2108fffc, |
5751 | 0x7c8f402e, | 5992 | 0x7c8f402e, |
5752 | 0x48000001, | 5993 | 0x48000001, |
5753 | 0x00030030, | 5994 | 0x00030033, |
5754 | 0x00000000, | 5995 | 0x00000000, |
5755 | 0x81d20000, | 5996 | 0x81d20000, |
5756 | 0x00098200, | 5997 | 0x00098200, |
@@ -5777,7 +6018,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5777 | 0x0006000f, | 6018 | 0x0006000f, |
5778 | 0x7d956378, | 6019 | 0x7d956378, |
5779 | 0x48000001, | 6020 | 0x48000001, |
5780 | 0x00030031, | 6021 | 0x00030034, |
5781 | 0x7eacab78, | 6022 | 0x7eacab78, |
5782 | 0x7e439378, | 6023 | 0x7e439378, |
5783 | 0x48000000, | 6024 | 0x48000000, |
@@ -5792,10 +6033,10 @@ static const unsigned int build_actionlist[7267] = { | |||
5792 | 0x7d6f402e, | 6033 | 0x7d6f402e, |
5793 | 0x00000000, | 6034 | 0x00000000, |
5794 | 0x48000000, | 6035 | 0x48000000, |
5795 | 0x000500a3, | 6036 | 0x000500a1, |
5796 | 0x00000000, | 6037 | 0x00000000, |
5797 | 0x48000000, | 6038 | 0x48000000, |
5798 | 0x000500a4, | 6039 | 0x000500a2, |
5799 | 0x00000000, | 6040 | 0x00000000, |
5800 | 0x7c6a706e, | 6041 | 0x7c6a706e, |
5801 | 0x7c8b706e, | 6042 | 0x7c8b706e, |
@@ -5881,7 +6122,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5881 | 0x816b0004, | 6122 | 0x816b0004, |
5882 | 0x00000000, | 6123 | 0x00000000, |
5883 | 0x48000000, | 6124 | 0x48000000, |
5884 | 0x000500a3, | 6125 | 0x000500a1, |
5885 | 0x00000000, | 6126 | 0x00000000, |
5886 | 0x7c6a706e, | 6127 | 0x7c6a706e, |
5887 | 0x5568007e, | 6128 | 0x5568007e, |
@@ -5893,7 +6134,7 @@ static const unsigned int build_actionlist[7267] = { | |||
5893 | 0x7d6f402e, | 6134 | 0x7d6f402e, |
5894 | 0x40820000, | 6135 | 0x40820000, |
5895 | 0x0005082c, | 6136 | 0x0005082c, |
5896 | 0x000600a3, | 6137 | 0x000600a1, |
5897 | 0x800a0000, | 6138 | 0x800a0000, |
5898 | 0x00098200, | 6139 | 0x00098200, |
5899 | 0x810b0000, | 6140 | 0x810b0000, |
@@ -6103,7 +6344,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6103 | 0x816b0004, | 6344 | 0x816b0004, |
6104 | 0x00000000, | 6345 | 0x00000000, |
6105 | 0x48000000, | 6346 | 0x48000000, |
6106 | 0x000500a4, | 6347 | 0x000500a2, |
6107 | 0x00060011, | 6348 | 0x00060011, |
6108 | 0x80110000, | 6349 | 0x80110000, |
6109 | 0x00098200, | 6350 | 0x00098200, |
@@ -6153,7 +6394,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6153 | 0x7d6f402e, | 6394 | 0x7d6f402e, |
6154 | 0x40820000, | 6395 | 0x40820000, |
6155 | 0x00050830, | 6396 | 0x00050830, |
6156 | 0x000600a4, | 6397 | 0x000600a2, |
6157 | 0x800a0000, | 6398 | 0x800a0000, |
6158 | 0x00098200, | 6399 | 0x00098200, |
6159 | 0x810b0000, | 6400 | 0x810b0000, |
@@ -6256,7 +6497,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6256 | 0x7d445378, | 6497 | 0x7d445378, |
6257 | 0x90050000, | 6498 | 0x90050000, |
6258 | 0x48000001, | 6499 | 0x48000001, |
6259 | 0x00030032, | 6500 | 0x00030035, |
6260 | 0x81d20000, | 6501 | 0x81d20000, |
6261 | 0x00098200, | 6502 | 0x00098200, |
6262 | 0xd9c30000, | 6503 | 0xd9c30000, |
@@ -6397,7 +6638,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6397 | 0x92010020, | 6638 | 0x92010020, |
6398 | 0x7d956378, | 6639 | 0x7d956378, |
6399 | 0x48000001, | 6640 | 0x48000001, |
6400 | 0x00030033, | 6641 | 0x00030036, |
6401 | 0x7eacab78, | 6642 | 0x7eacab78, |
6402 | 0x48000000, | 6643 | 0x48000000, |
6403 | 0x0005000b, | 6644 | 0x0005000b, |
@@ -6604,7 +6845,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6604 | 0x7c0b4040, | 6845 | 0x7c0b4040, |
6605 | 0x55662800, | 6846 | 0x55662800, |
6606 | 0x000900a1, | 6847 | 0x000900a1, |
6607 | 0x41810000, | 6848 | 0x41a10000, |
6608 | 0x0005080d, | 6849 | 0x0005080d, |
6609 | 0x556a1800, | 6850 | 0x556a1800, |
6610 | 0x000900a1, | 6851 | 0x000900a1, |
@@ -6732,7 +6973,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6732 | 0x80120000, | 6973 | 0x80120000, |
6733 | 0x00098200, | 6974 | 0x00098200, |
6734 | 0x3a600008, | 6975 | 0x3a600008, |
6735 | 0x40810000, | 6976 | 0x40a10000, |
6736 | 0x0005080d, | 6977 | 0x0005080d, |
6737 | 0x7d344214, | 6978 | 0x7d344214, |
6738 | 0x7c090040, | 6979 | 0x7c090040, |
@@ -6782,7 +7023,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6782 | 0x6a080000, | 7023 | 0x6a080000, |
6783 | 0x00090200, | 7024 | 0x00090200, |
6784 | 0x40820000, | 7025 | 0x40820000, |
6785 | 0x000508a5, | 7026 | 0x000508a3, |
6786 | 0x00060017, | 7027 | 0x00060017, |
6787 | 0x80f0fffc, | 7028 | 0x80f0fffc, |
6788 | 0x2c0c0008, | 7029 | 0x2c0c0008, |
@@ -6833,7 +7074,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6833 | 0x7ee9412e, | 7074 | 0x7ee9412e, |
6834 | 0x48000000, | 7075 | 0x48000000, |
6835 | 0x0005000f, | 7076 | 0x0005000f, |
6836 | 0x000600a5, | 7077 | 0x000600a3, |
6837 | 0x71090000, | 7078 | 0x71090000, |
6838 | 0x00090200, | 7079 | 0x00090200, |
6839 | 0x40820000, | 7080 | 0x40820000, |
@@ -6850,8 +7091,8 @@ static const unsigned int build_actionlist[7267] = { | |||
6850 | 0x00090200, | 7091 | 0x00090200, |
6851 | 0x6a080000, | 7092 | 0x6a080000, |
6852 | 0x00090200, | 7093 | 0x00090200, |
6853 | 0x40820000, | 7094 | 0x40a20000, |
6854 | 0x000508a5, | 7095 | 0x000508a3, |
6855 | 0x80f0fffc, | 7096 | 0x80f0fffc, |
6856 | 0x392efff8, | 7097 | 0x392efff8, |
6857 | 0x54ea5d78, | 7098 | 0x54ea5d78, |
@@ -6887,7 +7128,15 @@ static const unsigned int build_actionlist[7267] = { | |||
6887 | 0x48000000, | 7128 | 0x48000000, |
6888 | 0x0005000f, | 7129 | 0x0005000f, |
6889 | 0x00000000, | 7130 | 0x00000000, |
6890 | 0x7c810808, | 7131 | 0x5608fe7c, |
7132 | 0x39080000, | ||
7133 | 0x00098200, | ||
7134 | 0x7d31422e, | ||
7135 | 0x35290000, | ||
7136 | 0x00098200, | ||
7137 | 0x7d31432e, | ||
7138 | 0x41800000, | ||
7139 | 0x00050893, | ||
6891 | 0x00000000, | 7140 | 0x00000000, |
6892 | 0x7d14706e, | 7141 | 0x7d14706e, |
6893 | 0x80740000, | 7142 | 0x80740000, |
@@ -6973,7 +7222,7 @@ static const unsigned int build_actionlist[7267] = { | |||
6973 | 0x00000000, | 7222 | 0x00000000, |
6974 | 0x00060010, | 7223 | 0x00060010, |
6975 | 0x7c000400, | 7224 | 0x7c000400, |
6976 | 0x40810000, | 7225 | 0x40a10000, |
6977 | 0x0005080e, | 7226 | 0x0005080e, |
6978 | 0x48000000, | 7227 | 0x48000000, |
6979 | 0x0005000c, | 7228 | 0x0005000c, |
@@ -7037,7 +7286,7 @@ static const unsigned int build_actionlist[7267] = { | |||
7037 | 0x41810000, | 7286 | 0x41810000, |
7038 | 0x00050803, | 7287 | 0x00050803, |
7039 | 0x00000000, | 7288 | 0x00000000, |
7040 | 0x41810000, | 7289 | 0x41a10000, |
7041 | 0x0005080c, | 7290 | 0x0005080c, |
7042 | 0x00000000, | 7291 | 0x00000000, |
7043 | 0x41810000, | 7292 | 0x41810000, |
@@ -7073,7 +7322,7 @@ static const unsigned int build_actionlist[7267] = { | |||
7073 | 0x3e0c0000, | 7322 | 0x3e0c0000, |
7074 | 0x00098200, | 7323 | 0x00098200, |
7075 | 0x00000000, | 7324 | 0x00000000, |
7076 | 0x40800000, | 7325 | 0x40a00000, |
7077 | 0x0005080b, | 7326 | 0x0005080b, |
7078 | 0x00000000, | 7327 | 0x00000000, |
7079 | 0x40800000, | 7328 | 0x40800000, |
@@ -7082,7 +7331,15 @@ static const unsigned int build_actionlist[7267] = { | |||
7082 | 0x48000000, | 7331 | 0x48000000, |
7083 | 0x0005000c, | 7332 | 0x0005000c, |
7084 | 0x00000000, | 7333 | 0x00000000, |
7085 | 0x7c810808, | 7334 | 0x5608fe7c, |
7335 | 0x39080000, | ||
7336 | 0x00098200, | ||
7337 | 0x7d31422e, | ||
7338 | 0x35290000, | ||
7339 | 0x00098200, | ||
7340 | 0x7d31432e, | ||
7341 | 0x41800000, | ||
7342 | 0x00050893, | ||
7086 | 0x00000000, | 7343 | 0x00000000, |
7087 | 0x7d14706e, | 7344 | 0x7d14706e, |
7088 | 0x81340004, | 7345 | 0x81340004, |
@@ -7091,7 +7348,10 @@ static const unsigned int build_actionlist[7267] = { | |||
7091 | 0x41820000, | 7348 | 0x41820000, |
7092 | 0x00050801, | 7349 | 0x00050801, |
7093 | 0x00000000, | 7350 | 0x00000000, |
7094 | 0x7c810808, | 7351 | 0x9114fff8, |
7352 | 0x9134fffc, | ||
7353 | 0x48000000, | ||
7354 | 0x00070000, | ||
7095 | 0x00000000, | 7355 | 0x00000000, |
7096 | 0x5580007e, | 7356 | 0x5580007e, |
7097 | 0x000900ab, | 7357 | 0x000900ab, |
@@ -7113,7 +7373,15 @@ static const unsigned int build_actionlist[7267] = { | |||
7113 | 0x54eb9d78, | 7373 | 0x54eb9d78, |
7114 | 0x4e800420, | 7374 | 0x4e800420, |
7115 | 0x00000000, | 7375 | 0x00000000, |
7116 | 0x7c810808, | 7376 | 0x5608fe7c, |
7377 | 0x39080000, | ||
7378 | 0x00098200, | ||
7379 | 0x7d31422e, | ||
7380 | 0x35290000, | ||
7381 | 0x00098200, | ||
7382 | 0x7d31432e, | ||
7383 | 0x41800000, | ||
7384 | 0x00050893, | ||
7117 | 0x00000000, | 7385 | 0x00000000, |
7118 | 0x80f00000, | 7386 | 0x80f00000, |
7119 | 0x3a100004, | 7387 | 0x3a100004, |
@@ -7126,7 +7394,22 @@ static const unsigned int build_actionlist[7267] = { | |||
7126 | 0x54eb9d78, | 7394 | 0x54eb9d78, |
7127 | 0x4e800420, | 7395 | 0x4e800420, |
7128 | 0x00000000, | 7396 | 0x00000000, |
7129 | 0x7c810808, | 7397 | 0x81110000, |
7398 | 0x00098200, | ||
7399 | 0x558c007e, | ||
7400 | 0x000900ab, | ||
7401 | 0x7d28602e, | ||
7402 | 0x7c000400, | ||
7403 | 0x81290000, | ||
7404 | 0x00098200, | ||
7405 | 0x91d10000, | ||
7406 | 0x00098200, | ||
7407 | 0x7d2903a6, | ||
7408 | 0x92510000, | ||
7409 | 0x00098200, | ||
7410 | 0x3bd10000, | ||
7411 | 0x00098200, | ||
7412 | 0x4e800420, | ||
7130 | 0x00000000, | 7413 | 0x00000000, |
7131 | 0x5580007e, | 7414 | 0x5580007e, |
7132 | 0x000900ab, | 7415 | 0x000900ab, |
@@ -7144,7 +7427,15 @@ static const unsigned int build_actionlist[7267] = { | |||
7144 | 0x54eb9d78, | 7427 | 0x54eb9d78, |
7145 | 0x4e800420, | 7428 | 0x4e800420, |
7146 | 0x00000000, | 7429 | 0x00000000, |
7147 | 0x7c810808, | 7430 | 0x5608fe7c, |
7431 | 0x39080000, | ||
7432 | 0x00098200, | ||
7433 | 0x7d31422e, | ||
7434 | 0x35290000, | ||
7435 | 0x00098200, | ||
7436 | 0x7d31432e, | ||
7437 | 0x41800000, | ||
7438 | 0x00050895, | ||
7148 | 0x00000000, | 7439 | 0x00000000, |
7149 | 0x81320000, | 7440 | 0x81320000, |
7150 | 0x00098200, | 7441 | 0x00098200, |
@@ -7157,14 +7448,18 @@ static const unsigned int build_actionlist[7267] = { | |||
7157 | 0x000900a1, | 7448 | 0x000900a1, |
7158 | 0x41810000, | 7449 | 0x41810000, |
7159 | 0x00050820, | 7450 | 0x00050820, |
7451 | 0x00000000, | ||
7160 | 0x80f00000, | 7452 | 0x80f00000, |
7161 | 0x3a100004, | 7453 | 0x3a100004, |
7454 | 0x00000000, | ||
7162 | 0x0006000c, | 7455 | 0x0006000c, |
7163 | 0x7c0b4040, | 7456 | 0x7c0b4040, |
7164 | 0x40810000, | 7457 | 0x40810000, |
7165 | 0x00050803, | 7458 | 0x00050803, |
7166 | 0x00000000, | 7459 | 0x00000000, |
7167 | 0x7c810808, | 7460 | 0x54ec9b78, |
7461 | 0x48000000, | ||
7462 | 0x00070000, | ||
7168 | 0x00000000, | 7463 | 0x00000000, |
7169 | 0x54e815ba, | 7464 | 0x54e815ba, |
7170 | 0x7c11402e, | 7465 | 0x7c11402e, |
@@ -7419,8 +7714,6 @@ enum { | |||
7419 | GLOB_vm_ceil, | 7714 | GLOB_vm_ceil, |
7420 | GLOB_vm_trunc, | 7715 | GLOB_vm_trunc, |
7421 | GLOB_vm_modi, | 7716 | GLOB_vm_modi, |
7422 | GLOB_vm_powi, | ||
7423 | GLOB_vm_foldfpm, | ||
7424 | GLOB_vm_foldarith, | 7717 | GLOB_vm_foldarith, |
7425 | GLOB_vm_ffi_call, | 7718 | GLOB_vm_ffi_call, |
7426 | GLOB_BC_ISEQN_Z, | 7719 | GLOB_BC_ISEQN_Z, |
@@ -7568,8 +7861,6 @@ static const char *const globnames[] = { | |||
7568 | "vm_ceil", | 7861 | "vm_ceil", |
7569 | "vm_trunc", | 7862 | "vm_trunc", |
7570 | "vm_modi", | 7863 | "vm_modi", |
7571 | "vm_powi", | ||
7572 | "vm_foldfpm", | ||
7573 | "vm_foldarith", | 7864 | "vm_foldarith", |
7574 | "vm_ffi_call", | 7865 | "vm_ffi_call", |
7575 | "BC_ISEQN_Z", | 7866 | "BC_ISEQN_Z", |
@@ -7622,7 +7913,10 @@ static const char *const extnames[] = { | |||
7622 | "lj_tab_len", | 7913 | "lj_tab_len", |
7623 | "lj_gc_step", | 7914 | "lj_gc_step", |
7624 | "lj_dispatch_ins", | 7915 | "lj_dispatch_ins", |
7916 | "lj_trace_hot", | ||
7625 | "lj_dispatch_call", | 7917 | "lj_dispatch_call", |
7918 | "lj_trace_exit", | ||
7919 | "lj_err_throw", | ||
7626 | "trunc", | 7920 | "trunc", |
7627 | "lj_meta_cat", | 7921 | "lj_meta_cat", |
7628 | "lj_gc_barrieruv", | 7922 | "lj_gc_barrieruv", |
@@ -8001,46 +8295,46 @@ static void build_subroutines(BuildCtx *ctx) | |||
8001 | dasm_put(Dst, 3552, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK); | 8295 | dasm_put(Dst, 3552, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK); |
8002 | dasm_put(Dst, 3615, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 8296 | dasm_put(Dst, 3615, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
8003 | #if LJ_HASJIT | 8297 | #if LJ_HASJIT |
8004 | dasm_put(Dst, 3641); | 8298 | dasm_put(Dst, 3641, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
8005 | #endif | ||
8006 | dasm_put(Dst, 3643, 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)); | ||
8007 | dasm_put(Dst, 3690, GG_DISP2STATIC); | ||
8008 | #if LJ_HASJIT | ||
8009 | dasm_put(Dst, 3708); | ||
8010 | #endif | 8299 | #endif |
8011 | dasm_put(Dst, 3710); | 8300 | dasm_put(Dst, 3663, 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)); |
8301 | dasm_put(Dst, 3710, GG_DISP2STATIC); | ||
8012 | #if LJ_HASJIT | 8302 | #if LJ_HASJIT |
8013 | dasm_put(Dst, 3713); | 8303 | dasm_put(Dst, 3728, GG_DISP2J, Dt7(->pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), 31-3, Dt1(->top)); |
8014 | #endif | 8304 | #endif |
8015 | dasm_put(Dst, 3716); | 8305 | dasm_put(Dst, 3751); |
8016 | #if LJ_HASJIT | 8306 | #if LJ_HASJIT |
8017 | dasm_put(Dst, 3718); | 8307 | dasm_put(Dst, 3754); |
8018 | #endif | 8308 | #endif |
8019 | dasm_put(Dst, 3721, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 8309 | dasm_put(Dst, 3757); |
8020 | #if LJ_HASJIT | 8310 | #if LJ_HASJIT |
8021 | dasm_put(Dst, 3743); | 8311 | dasm_put(Dst, 3759); |
8022 | #endif | 8312 | #endif |
8023 | dasm_put(Dst, 3745); | 8313 | dasm_put(Dst, 3762, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
8024 | #if LJ_HASJIT | 8314 | #if LJ_HASJIT |
8025 | dasm_put(Dst, 3747); | 8315 | dasm_put(Dst, 3784, -(16+32*8+32*4), 16+32*8+2*4, -GG_DISP2G-32768, ~LJ_VMST_EXIT, 16+32*8+32*4, DISPATCH_GL(vmstate), 16+0*8, 16+1*8, 16+2*8, 16+3*8, 16+4*8, 16+5*8, 16+6*8, 16+7*8, 16+32*8+32*4, 16+8*8, 16+9*8, 16+10*8, 16+11*8, 16+32*8+1*4, 16+12*8, 16+13*8); |
8316 | dasm_put(Dst, 3831, 16+14*8, 16+15*8, 16+16*8, 16+17*8, 16+18*8, 16+19*8, 16+32*8+0*4, 16+20*8, 16+21*8, 16+22*8, 16+23*8, 16+24*8, 16+25*8, 16+26*8, 16+27*8, DISPATCH_GL(jit_L), 16+28*8, 16+29*8, 16+30*8, 16+31*8, DISPATCH_GL(jit_base), 32-2); | ||
8317 | dasm_put(Dst, 3880, DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, DISPATCH_J(exitno), DISPATCH_J(parent), Dt1(->cframe), Dt1(->base)); | ||
8026 | #endif | 8318 | #endif |
8027 | dasm_put(Dst, 3749); | 8319 | dasm_put(Dst, 3909); |
8028 | #if LJ_HASJIT | 8320 | #if LJ_HASJIT |
8029 | dasm_put(Dst, 3757); | 8321 | dasm_put(Dst, 3911, -GG_DISP2G-32768, 31-3, Dt7(->pc), DISPATCH_GL(jit_L), PC2PROTO(k), LJ_TISNUM, LJ_TNIL, DISPATCH_GL(vmstate), BC_FUNCF*4); |
8030 | #endif | 8322 | #endif |
8031 | dasm_put(Dst, 3760); | 8323 | dasm_put(Dst, 3967); |
8032 | #if LJ_HASJIT | 8324 | #if LJ_HASJIT |
8033 | dasm_put(Dst, 3773); | 8325 | dasm_put(Dst, 3975); |
8034 | #endif | 8326 | #endif |
8035 | dasm_put(Dst, 3775); | 8327 | dasm_put(Dst, 3978); |
8036 | #if LJ_HASJIT | 8328 | #if LJ_HASJIT |
8037 | dasm_put(Dst, 3777); | 8329 | dasm_put(Dst, 4058); |
8330 | #else | ||
8331 | dasm_put(Dst, 4080); | ||
8038 | #endif | 8332 | #endif |
8039 | dasm_put(Dst, 3779); | 8333 | dasm_put(Dst, 4082); |
8040 | #if LJ_HASFFI | 8334 | #if LJ_HASFFI |
8041 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 8335 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
8042 | dasm_put(Dst, 3843, DtE(->spadj), DtE(->nsp), DtE(->nfpr), DtE(->stack), 31-2, DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[1]), DtE(->gpr[2])); | 8336 | dasm_put(Dst, 4084, DtE(->spadj), DtE(->nsp), DtE(->nfpr), DtE(->stack), 31-2, DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[1]), DtE(->gpr[2])); |
8043 | dasm_put(Dst, 3899, DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->gpr[6]), DtE(->gpr[7]), DtE(->gpr[0]), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3])); | 8337 | dasm_put(Dst, 4140, DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->gpr[6]), DtE(->gpr[7]), DtE(->gpr[0]), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3])); |
8044 | #endif | 8338 | #endif |
8045 | } | 8339 | } |
8046 | 8340 | ||
@@ -8048,7 +8342,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
8048 | static void build_ins(BuildCtx *ctx, BCOp op, int defop) | 8342 | static void build_ins(BuildCtx *ctx, BCOp op, int defop) |
8049 | { | 8343 | { |
8050 | int vk = 0; | 8344 | int vk = 0; |
8051 | dasm_put(Dst, 3930, defop); | 8345 | dasm_put(Dst, 4171, defop); |
8052 | 8346 | ||
8053 | switch (op) { | 8347 | switch (op) { |
8054 | 8348 | ||
@@ -8058,224 +8352,224 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8058 | 8352 | ||
8059 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 8353 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
8060 | if (LJ_DUALNUM) { | 8354 | if (LJ_DUALNUM) { |
8061 | dasm_put(Dst, 3932, -(BCBIAS_J*4 >> 16)); | 8355 | dasm_put(Dst, 4173, -(BCBIAS_J*4 >> 16)); |
8062 | if (op == BC_ISLT) { | 8356 | if (op == BC_ISLT) { |
8063 | dasm_put(Dst, 3949); | 8357 | dasm_put(Dst, 4190); |
8064 | } else if (op == BC_ISGE) { | 8358 | } else if (op == BC_ISGE) { |
8065 | dasm_put(Dst, 3952); | 8359 | dasm_put(Dst, 4193); |
8066 | } else if (op == BC_ISLE) { | 8360 | } else if (op == BC_ISLE) { |
8067 | dasm_put(Dst, 3955); | 8361 | dasm_put(Dst, 4196); |
8068 | } else { | 8362 | } else { |
8069 | dasm_put(Dst, 3958); | 8363 | dasm_put(Dst, 4199); |
8070 | } | 8364 | } |
8071 | dasm_put(Dst, 3961); | 8365 | dasm_put(Dst, 4202); |
8072 | if (op == BC_ISLT) { | 8366 | if (op == BC_ISLT) { |
8073 | dasm_put(Dst, 4000); | 8367 | dasm_put(Dst, 4241); |
8074 | } else if (op == BC_ISGE) { | 8368 | } else if (op == BC_ISGE) { |
8075 | dasm_put(Dst, 4003); | 8369 | dasm_put(Dst, 4244); |
8076 | } else if (op == BC_ISLE) { | 8370 | } else if (op == BC_ISLE) { |
8077 | dasm_put(Dst, 4006); | 8371 | dasm_put(Dst, 4247); |
8078 | } else { | 8372 | } else { |
8079 | dasm_put(Dst, 4010); | 8373 | dasm_put(Dst, 4251); |
8080 | } | 8374 | } |
8081 | dasm_put(Dst, 4014); | 8375 | dasm_put(Dst, 4255); |
8082 | } else { | 8376 | } else { |
8083 | dasm_put(Dst, 4017, -(BCBIAS_J*4 >> 16)); | 8377 | dasm_put(Dst, 4258, -(BCBIAS_J*4 >> 16)); |
8084 | if (op == BC_ISLT) { | 8378 | if (op == BC_ISLT) { |
8085 | dasm_put(Dst, 4034); | 8379 | dasm_put(Dst, 4275); |
8086 | } else if (op == BC_ISGE) { | 8380 | } else if (op == BC_ISGE) { |
8087 | dasm_put(Dst, 4037); | 8381 | dasm_put(Dst, 4278); |
8088 | } else if (op == BC_ISLE) { | 8382 | } else if (op == BC_ISLE) { |
8089 | dasm_put(Dst, 4040); | 8383 | dasm_put(Dst, 4281); |
8090 | } else { | 8384 | } else { |
8091 | dasm_put(Dst, 4044); | 8385 | dasm_put(Dst, 4285); |
8092 | } | 8386 | } |
8093 | dasm_put(Dst, 4048); | 8387 | dasm_put(Dst, 4289); |
8094 | } | 8388 | } |
8095 | break; | 8389 | break; |
8096 | 8390 | ||
8097 | case BC_ISEQV: case BC_ISNEV: | 8391 | case BC_ISEQV: case BC_ISNEV: |
8098 | vk = op == BC_ISEQV; | 8392 | vk = op == BC_ISEQV; |
8099 | if (LJ_DUALNUM) { | 8393 | if (LJ_DUALNUM) { |
8100 | dasm_put(Dst, 4061, -(BCBIAS_J*4 >> 16)); | 8394 | dasm_put(Dst, 4302, -(BCBIAS_J*4 >> 16)); |
8101 | if (vk) { | 8395 | if (vk) { |
8102 | dasm_put(Dst, 4074); | 8396 | dasm_put(Dst, 4315); |
8103 | } else { | 8397 | } else { |
8104 | dasm_put(Dst, 4077); | 8398 | dasm_put(Dst, 4318); |
8105 | } | 8399 | } |
8106 | } else { | 8400 | } else { |
8107 | dasm_put(Dst, 4080, -(BCBIAS_J*4 >> 16)); | 8401 | dasm_put(Dst, 4321, -(BCBIAS_J*4 >> 16)); |
8108 | if (vk) { | 8402 | if (vk) { |
8109 | dasm_put(Dst, 4097); | 8403 | dasm_put(Dst, 4338); |
8110 | } else { | 8404 | } else { |
8111 | dasm_put(Dst, 4101); | 8405 | dasm_put(Dst, 4342); |
8112 | } | 8406 | } |
8113 | dasm_put(Dst, 4105); | 8407 | dasm_put(Dst, 4346); |
8114 | } | 8408 | } |
8115 | dasm_put(Dst, 4117); | 8409 | dasm_put(Dst, 4358); |
8116 | if (!LJ_DUALNUM) { | 8410 | if (!LJ_DUALNUM) { |
8117 | dasm_put(Dst, 4119); | 8411 | dasm_put(Dst, 4360); |
8118 | } | 8412 | } |
8119 | if (LJ_HASFFI) { | 8413 | if (LJ_HASFFI) { |
8120 | dasm_put(Dst, 4122, LJ_TCDATA, LJ_TCDATA); | 8414 | dasm_put(Dst, 4363, LJ_TCDATA, LJ_TCDATA); |
8121 | } | 8415 | } |
8122 | dasm_put(Dst, 4127, ~LJ_TISPRI); | 8416 | dasm_put(Dst, 4368, ~LJ_TISPRI); |
8123 | if (LJ_HASFFI) { | 8417 | if (LJ_HASFFI) { |
8124 | dasm_put(Dst, 4132); | 8418 | dasm_put(Dst, 4373); |
8125 | } | 8419 | } |
8126 | dasm_put(Dst, 4134, ~LJ_TISTABUD); | 8420 | dasm_put(Dst, 4375, ~LJ_TISTABUD); |
8127 | if (LJ_HASFFI) { | 8421 | if (LJ_HASFFI) { |
8128 | dasm_put(Dst, 4137); | 8422 | dasm_put(Dst, 4378); |
8129 | } | 8423 | } |
8130 | dasm_put(Dst, 4140); | 8424 | dasm_put(Dst, 4381); |
8131 | if (vk) { | 8425 | if (vk) { |
8132 | dasm_put(Dst, 4148); | 8426 | dasm_put(Dst, 4389); |
8133 | } else { | 8427 | } else { |
8134 | dasm_put(Dst, 4153); | 8428 | dasm_put(Dst, 4394); |
8135 | } | 8429 | } |
8136 | if (LJ_DUALNUM) { | 8430 | if (LJ_DUALNUM) { |
8137 | dasm_put(Dst, 4158); | 8431 | dasm_put(Dst, 4399); |
8138 | } else { | 8432 | } else { |
8139 | dasm_put(Dst, 4173); | 8433 | dasm_put(Dst, 4414); |
8140 | } | 8434 | } |
8141 | dasm_put(Dst, 4176, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq); | 8435 | dasm_put(Dst, 4417, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq); |
8142 | break; | 8436 | break; |
8143 | 8437 | ||
8144 | case BC_ISEQS: case BC_ISNES: | 8438 | case BC_ISEQS: case BC_ISNES: |
8145 | vk = op == BC_ISEQS; | 8439 | vk = op == BC_ISEQS; |
8146 | dasm_put(Dst, 4195, 32-1); | 8440 | dasm_put(Dst, 4436, 32-1); |
8147 | if (LJ_HASFFI) { | 8441 | if (LJ_HASFFI) { |
8148 | dasm_put(Dst, 4203, LJ_TCDATA); | 8442 | dasm_put(Dst, 4444, LJ_TCDATA); |
8149 | } | 8443 | } |
8150 | dasm_put(Dst, 4206, LJ_TSTR); | 8444 | dasm_put(Dst, 4447, LJ_TSTR); |
8151 | if (LJ_HASFFI) { | 8445 | if (LJ_HASFFI) { |
8152 | dasm_put(Dst, 4210); | 8446 | dasm_put(Dst, 4451); |
8153 | } | 8447 | } |
8154 | dasm_put(Dst, 4213, -(BCBIAS_J*4 >> 16)); | 8448 | dasm_put(Dst, 4454, -(BCBIAS_J*4 >> 16)); |
8155 | if (vk) { | 8449 | if (vk) { |
8156 | dasm_put(Dst, 4221); | 8450 | dasm_put(Dst, 4462); |
8157 | } else { | 8451 | } else { |
8158 | dasm_put(Dst, 4223); | 8452 | dasm_put(Dst, 4464); |
8159 | } | 8453 | } |
8160 | dasm_put(Dst, 4225); | 8454 | dasm_put(Dst, 4466); |
8161 | break; | 8455 | break; |
8162 | 8456 | ||
8163 | case BC_ISEQN: case BC_ISNEN: | 8457 | case BC_ISEQN: case BC_ISNEN: |
8164 | vk = op == BC_ISEQN; | 8458 | vk = op == BC_ISEQN; |
8165 | if (LJ_DUALNUM) { | 8459 | if (LJ_DUALNUM) { |
8166 | dasm_put(Dst, 4237, -(BCBIAS_J*4 >> 16)); | 8460 | dasm_put(Dst, 4478, -(BCBIAS_J*4 >> 16)); |
8167 | if (vk) { | 8461 | if (vk) { |
8168 | dasm_put(Dst, 4249); | 8462 | dasm_put(Dst, 4490); |
8169 | } else { | 8463 | } else { |
8170 | dasm_put(Dst, 4251); | 8464 | dasm_put(Dst, 4492); |
8171 | } | 8465 | } |
8172 | dasm_put(Dst, 4253); | 8466 | dasm_put(Dst, 4494); |
8173 | } else { | 8467 | } else { |
8174 | if (vk) { | 8468 | if (vk) { |
8175 | dasm_put(Dst, 4260); | 8469 | dasm_put(Dst, 4501); |
8176 | } else { | 8470 | } else { |
8177 | dasm_put(Dst, 4262); | 8471 | dasm_put(Dst, 4503); |
8178 | } | 8472 | } |
8179 | dasm_put(Dst, 4264, -(BCBIAS_J*4 >> 16)); | 8473 | dasm_put(Dst, 4505, -(BCBIAS_J*4 >> 16)); |
8180 | } | 8474 | } |
8181 | if (vk) { | 8475 | if (vk) { |
8182 | dasm_put(Dst, 4277); | 8476 | dasm_put(Dst, 4518); |
8183 | if (!LJ_HASFFI) { | 8477 | if (!LJ_HASFFI) { |
8184 | dasm_put(Dst, 4282); | 8478 | dasm_put(Dst, 4523); |
8185 | } | 8479 | } |
8186 | } else { | 8480 | } else { |
8187 | dasm_put(Dst, 4284); | 8481 | dasm_put(Dst, 4525); |
8188 | if (!LJ_HASFFI) { | 8482 | if (!LJ_HASFFI) { |
8189 | dasm_put(Dst, 4288); | 8483 | dasm_put(Dst, 4529); |
8190 | } | 8484 | } |
8191 | dasm_put(Dst, 4290); | 8485 | dasm_put(Dst, 4531); |
8192 | } | 8486 | } |
8193 | dasm_put(Dst, 4293); | 8487 | dasm_put(Dst, 4534); |
8194 | if (LJ_HASFFI) { | 8488 | if (LJ_HASFFI) { |
8195 | dasm_put(Dst, 4304, LJ_TCDATA); | 8489 | dasm_put(Dst, 4545, LJ_TCDATA); |
8196 | } | 8490 | } |
8197 | if (LJ_DUALNUM) { | 8491 | if (LJ_DUALNUM) { |
8198 | dasm_put(Dst, 4312); | 8492 | dasm_put(Dst, 4553); |
8199 | } | 8493 | } |
8200 | break; | 8494 | break; |
8201 | 8495 | ||
8202 | case BC_ISEQP: case BC_ISNEP: | 8496 | case BC_ISEQP: case BC_ISNEP: |
8203 | vk = op == BC_ISEQP; | 8497 | vk = op == BC_ISEQP; |
8204 | dasm_put(Dst, 4336, 32-3); | 8498 | dasm_put(Dst, 4577, 32-3); |
8205 | if (LJ_HASFFI) { | 8499 | if (LJ_HASFFI) { |
8206 | dasm_put(Dst, 4343, LJ_TCDATA); | 8500 | dasm_put(Dst, 4584, LJ_TCDATA); |
8207 | } | 8501 | } |
8208 | dasm_put(Dst, 4346); | 8502 | dasm_put(Dst, 4587); |
8209 | if (LJ_HASFFI) { | 8503 | if (LJ_HASFFI) { |
8210 | dasm_put(Dst, 4348); | 8504 | dasm_put(Dst, 4589); |
8211 | } | 8505 | } |
8212 | dasm_put(Dst, 4351, -(BCBIAS_J*4 >> 16)); | 8506 | dasm_put(Dst, 4592, -(BCBIAS_J*4 >> 16)); |
8213 | if (vk) { | 8507 | if (vk) { |
8214 | dasm_put(Dst, 4357); | 8508 | dasm_put(Dst, 4598); |
8215 | } else { | 8509 | } else { |
8216 | dasm_put(Dst, 4359); | 8510 | dasm_put(Dst, 4600); |
8217 | } | 8511 | } |
8218 | dasm_put(Dst, 4361); | 8512 | dasm_put(Dst, 4602); |
8219 | break; | 8513 | break; |
8220 | 8514 | ||
8221 | /* -- Unary test and copy ops ------------------------------------------- */ | 8515 | /* -- Unary test and copy ops ------------------------------------------- */ |
8222 | 8516 | ||
8223 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 8517 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
8224 | dasm_put(Dst, 4373); | 8518 | dasm_put(Dst, 4614); |
8225 | if (op == BC_IST || op == BC_ISF) { | 8519 | if (op == BC_IST || op == BC_ISF) { |
8226 | dasm_put(Dst, 4377, LJ_TTRUE, -(BCBIAS_J*4 >> 16)); | 8520 | dasm_put(Dst, 4618, LJ_TTRUE, -(BCBIAS_J*4 >> 16)); |
8227 | if (op == BC_IST) { | 8521 | if (op == BC_IST) { |
8228 | dasm_put(Dst, 4384); | 8522 | dasm_put(Dst, 4625); |
8229 | } else { | 8523 | } else { |
8230 | dasm_put(Dst, 4386); | 8524 | dasm_put(Dst, 4627); |
8231 | } | 8525 | } |
8232 | dasm_put(Dst, 4388); | 8526 | dasm_put(Dst, 4629); |
8233 | } else { | 8527 | } else { |
8234 | dasm_put(Dst, 4390, LJ_TFALSE); | 8528 | dasm_put(Dst, 4631, LJ_TFALSE); |
8235 | if (op == BC_ISTC) { | 8529 | if (op == BC_ISTC) { |
8236 | dasm_put(Dst, 4395); | 8530 | dasm_put(Dst, 4636); |
8237 | } else { | 8531 | } else { |
8238 | dasm_put(Dst, 4398); | 8532 | dasm_put(Dst, 4639); |
8239 | } | 8533 | } |
8240 | dasm_put(Dst, 4401, -(BCBIAS_J*4 >> 16)); | 8534 | dasm_put(Dst, 4642, -(BCBIAS_J*4 >> 16)); |
8241 | } | 8535 | } |
8242 | dasm_put(Dst, 4408); | 8536 | dasm_put(Dst, 4649); |
8243 | break; | 8537 | break; |
8244 | 8538 | ||
8245 | /* -- Unary ops --------------------------------------------------------- */ | 8539 | /* -- Unary ops --------------------------------------------------------- */ |
8246 | 8540 | ||
8247 | case BC_MOV: | 8541 | case BC_MOV: |
8248 | dasm_put(Dst, 4419); | 8542 | dasm_put(Dst, 4660); |
8249 | break; | 8543 | break; |
8250 | case BC_NOT: | 8544 | case BC_NOT: |
8251 | dasm_put(Dst, 4432, LJ_TTRUE); | 8545 | dasm_put(Dst, 4673, LJ_TTRUE); |
8252 | break; | 8546 | break; |
8253 | case BC_UNM: | 8547 | case BC_UNM: |
8254 | dasm_put(Dst, 4448); | 8548 | dasm_put(Dst, 4689); |
8255 | if (LJ_DUALNUM) { | 8549 | if (LJ_DUALNUM) { |
8256 | dasm_put(Dst, 4452); | 8550 | dasm_put(Dst, 4693); |
8257 | } | 8551 | } |
8258 | dasm_put(Dst, 4480); | 8552 | dasm_put(Dst, 4721); |
8259 | if (LJ_DUALNUM) { | 8553 | if (LJ_DUALNUM) { |
8260 | dasm_put(Dst, 4490); | 8554 | dasm_put(Dst, 4731); |
8261 | } else { | 8555 | } else { |
8262 | dasm_put(Dst, 4493); | 8556 | dasm_put(Dst, 4734); |
8263 | } | 8557 | } |
8264 | break; | 8558 | break; |
8265 | case BC_LEN: | 8559 | case BC_LEN: |
8266 | dasm_put(Dst, 4502, LJ_TSTR, Dt5(->len)); | 8560 | dasm_put(Dst, 4743, LJ_TSTR, Dt5(->len)); |
8267 | if (LJ_DUALNUM) { | 8561 | if (LJ_DUALNUM) { |
8268 | dasm_put(Dst, 4512); | 8562 | dasm_put(Dst, 4753); |
8269 | } else { | 8563 | } else { |
8270 | dasm_put(Dst, 4517); | 8564 | dasm_put(Dst, 4758); |
8271 | } | 8565 | } |
8272 | dasm_put(Dst, 4524, LJ_TTAB); | 8566 | dasm_put(Dst, 4765, LJ_TTAB); |
8273 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 8567 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
8274 | dasm_put(Dst, 4538, Dt6(->metatable)); | 8568 | dasm_put(Dst, 4779, Dt6(->metatable)); |
8275 | #endif | 8569 | #endif |
8276 | dasm_put(Dst, 4545); | 8570 | dasm_put(Dst, 4786); |
8277 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 8571 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
8278 | dasm_put(Dst, 4551, Dt6(->nomm), 1<<MM_len); | 8572 | dasm_put(Dst, 4792, Dt6(->nomm), 1<<MM_len); |
8279 | #endif | 8573 | #endif |
8280 | break; | 8574 | break; |
8281 | 8575 | ||
@@ -8287,77 +8581,77 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8287 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8581 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8288 | switch (vk) { | 8582 | switch (vk) { |
8289 | case 0: | 8583 | case 0: |
8290 | dasm_put(Dst, 4561); | 8584 | dasm_put(Dst, 4802); |
8291 | break; | 8585 | break; |
8292 | case 1: | 8586 | case 1: |
8293 | dasm_put(Dst, 4567); | 8587 | dasm_put(Dst, 4808); |
8294 | break; | 8588 | break; |
8295 | default: | 8589 | default: |
8296 | dasm_put(Dst, 4573); | 8590 | dasm_put(Dst, 4814); |
8297 | break; | 8591 | break; |
8298 | } | 8592 | } |
8299 | dasm_put(Dst, 4579); | 8593 | dasm_put(Dst, 4820); |
8300 | switch (vk) { | 8594 | switch (vk) { |
8301 | case 0: | 8595 | case 0: |
8302 | dasm_put(Dst, 4606); | 8596 | dasm_put(Dst, 4847); |
8303 | break; | 8597 | break; |
8304 | case 1: | 8598 | case 1: |
8305 | dasm_put(Dst, 4609); | 8599 | dasm_put(Dst, 4850); |
8306 | break; | 8600 | break; |
8307 | default: | 8601 | default: |
8308 | dasm_put(Dst, 4612); | 8602 | dasm_put(Dst, 4853); |
8309 | break; | 8603 | break; |
8310 | } | 8604 | } |
8311 | dasm_put(Dst, 4615); | 8605 | dasm_put(Dst, 4856); |
8312 | if (vk == 1) { | 8606 | if (vk == 1) { |
8313 | dasm_put(Dst, 4617); | 8607 | dasm_put(Dst, 4858); |
8314 | } else { | 8608 | } else { |
8315 | dasm_put(Dst, 4621); | 8609 | dasm_put(Dst, 4862); |
8316 | } | 8610 | } |
8317 | switch (vk) { | 8611 | switch (vk) { |
8318 | case 0: | 8612 | case 0: |
8319 | dasm_put(Dst, 4625); | 8613 | dasm_put(Dst, 4866); |
8320 | break; | 8614 | break; |
8321 | case 1: | 8615 | case 1: |
8322 | dasm_put(Dst, 4628); | 8616 | dasm_put(Dst, 4869); |
8323 | break; | 8617 | break; |
8324 | default: | 8618 | default: |
8325 | dasm_put(Dst, 4631); | 8619 | dasm_put(Dst, 4872); |
8326 | break; | 8620 | break; |
8327 | } | 8621 | } |
8328 | dasm_put(Dst, 4634); | 8622 | dasm_put(Dst, 4875); |
8329 | } else { | 8623 | } else { |
8330 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8624 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8331 | switch (vk) { | 8625 | switch (vk) { |
8332 | case 0: | 8626 | case 0: |
8333 | dasm_put(Dst, 4641); | 8627 | dasm_put(Dst, 4882); |
8334 | if (LJ_DUALNUM) { | 8628 | if (LJ_DUALNUM) { |
8335 | dasm_put(Dst, 4643); | 8629 | dasm_put(Dst, 4884); |
8336 | } | 8630 | } |
8337 | dasm_put(Dst, 4645); | 8631 | dasm_put(Dst, 4886); |
8338 | if (LJ_DUALNUM) { | 8632 | if (LJ_DUALNUM) { |
8339 | dasm_put(Dst, 4648); | 8633 | dasm_put(Dst, 4889); |
8340 | } else { | 8634 | } else { |
8341 | dasm_put(Dst, 4654); | 8635 | dasm_put(Dst, 4895); |
8342 | } | 8636 | } |
8343 | break; | 8637 | break; |
8344 | case 1: | 8638 | case 1: |
8345 | dasm_put(Dst, 4658); | 8639 | dasm_put(Dst, 4899); |
8346 | if (LJ_DUALNUM) { | 8640 | if (LJ_DUALNUM) { |
8347 | dasm_put(Dst, 4660); | 8641 | dasm_put(Dst, 4901); |
8348 | } | 8642 | } |
8349 | dasm_put(Dst, 4662); | 8643 | dasm_put(Dst, 4903); |
8350 | if (LJ_DUALNUM) { | 8644 | if (LJ_DUALNUM) { |
8351 | dasm_put(Dst, 4665); | 8645 | dasm_put(Dst, 4906); |
8352 | } else { | 8646 | } else { |
8353 | dasm_put(Dst, 4671); | 8647 | dasm_put(Dst, 4912); |
8354 | } | 8648 | } |
8355 | break; | 8649 | break; |
8356 | default: | 8650 | default: |
8357 | dasm_put(Dst, 4675); | 8651 | dasm_put(Dst, 4916); |
8358 | break; | 8652 | break; |
8359 | } | 8653 | } |
8360 | dasm_put(Dst, 4685); | 8654 | dasm_put(Dst, 4926); |
8361 | } | 8655 | } |
8362 | break; | 8656 | break; |
8363 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 8657 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
@@ -8365,77 +8659,77 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8365 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8659 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8366 | switch (vk) { | 8660 | switch (vk) { |
8367 | case 0: | 8661 | case 0: |
8368 | dasm_put(Dst, 4698); | 8662 | dasm_put(Dst, 4939); |
8369 | break; | 8663 | break; |
8370 | case 1: | 8664 | case 1: |
8371 | dasm_put(Dst, 4704); | 8665 | dasm_put(Dst, 4945); |
8372 | break; | 8666 | break; |
8373 | default: | 8667 | default: |
8374 | dasm_put(Dst, 4710); | 8668 | dasm_put(Dst, 4951); |
8375 | break; | 8669 | break; |
8376 | } | 8670 | } |
8377 | dasm_put(Dst, 4716); | 8671 | dasm_put(Dst, 4957); |
8378 | switch (vk) { | 8672 | switch (vk) { |
8379 | case 0: | 8673 | case 0: |
8380 | dasm_put(Dst, 4743); | 8674 | dasm_put(Dst, 4984); |
8381 | break; | 8675 | break; |
8382 | case 1: | 8676 | case 1: |
8383 | dasm_put(Dst, 4746); | 8677 | dasm_put(Dst, 4987); |
8384 | break; | 8678 | break; |
8385 | default: | 8679 | default: |
8386 | dasm_put(Dst, 4749); | 8680 | dasm_put(Dst, 4990); |
8387 | break; | 8681 | break; |
8388 | } | 8682 | } |
8389 | dasm_put(Dst, 4752); | 8683 | dasm_put(Dst, 4993); |
8390 | if (vk == 1) { | 8684 | if (vk == 1) { |
8391 | dasm_put(Dst, 4754); | 8685 | dasm_put(Dst, 4995); |
8392 | } else { | 8686 | } else { |
8393 | dasm_put(Dst, 4758); | 8687 | dasm_put(Dst, 4999); |
8394 | } | 8688 | } |
8395 | switch (vk) { | 8689 | switch (vk) { |
8396 | case 0: | 8690 | case 0: |
8397 | dasm_put(Dst, 4762); | 8691 | dasm_put(Dst, 5003); |
8398 | break; | 8692 | break; |
8399 | case 1: | 8693 | case 1: |
8400 | dasm_put(Dst, 4765); | 8694 | dasm_put(Dst, 5006); |
8401 | break; | 8695 | break; |
8402 | default: | 8696 | default: |
8403 | dasm_put(Dst, 4768); | 8697 | dasm_put(Dst, 5009); |
8404 | break; | 8698 | break; |
8405 | } | 8699 | } |
8406 | dasm_put(Dst, 4771); | 8700 | dasm_put(Dst, 5012); |
8407 | } else { | 8701 | } else { |
8408 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8702 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8409 | switch (vk) { | 8703 | switch (vk) { |
8410 | case 0: | 8704 | case 0: |
8411 | dasm_put(Dst, 4778); | 8705 | dasm_put(Dst, 5019); |
8412 | if (LJ_DUALNUM) { | 8706 | if (LJ_DUALNUM) { |
8413 | dasm_put(Dst, 4780); | 8707 | dasm_put(Dst, 5021); |
8414 | } | 8708 | } |
8415 | dasm_put(Dst, 4782); | 8709 | dasm_put(Dst, 5023); |
8416 | if (LJ_DUALNUM) { | 8710 | if (LJ_DUALNUM) { |
8417 | dasm_put(Dst, 4785); | 8711 | dasm_put(Dst, 5026); |
8418 | } else { | 8712 | } else { |
8419 | dasm_put(Dst, 4791); | 8713 | dasm_put(Dst, 5032); |
8420 | } | 8714 | } |
8421 | break; | 8715 | break; |
8422 | case 1: | 8716 | case 1: |
8423 | dasm_put(Dst, 4795); | 8717 | dasm_put(Dst, 5036); |
8424 | if (LJ_DUALNUM) { | 8718 | if (LJ_DUALNUM) { |
8425 | dasm_put(Dst, 4797); | 8719 | dasm_put(Dst, 5038); |
8426 | } | 8720 | } |
8427 | dasm_put(Dst, 4799); | 8721 | dasm_put(Dst, 5040); |
8428 | if (LJ_DUALNUM) { | 8722 | if (LJ_DUALNUM) { |
8429 | dasm_put(Dst, 4802); | 8723 | dasm_put(Dst, 5043); |
8430 | } else { | 8724 | } else { |
8431 | dasm_put(Dst, 4808); | 8725 | dasm_put(Dst, 5049); |
8432 | } | 8726 | } |
8433 | break; | 8727 | break; |
8434 | default: | 8728 | default: |
8435 | dasm_put(Dst, 4812); | 8729 | dasm_put(Dst, 5053); |
8436 | break; | 8730 | break; |
8437 | } | 8731 | } |
8438 | dasm_put(Dst, 4822); | 8732 | dasm_put(Dst, 5063); |
8439 | } | 8733 | } |
8440 | break; | 8734 | break; |
8441 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 8735 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
@@ -8443,188 +8737,188 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8443 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8737 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8444 | switch (vk) { | 8738 | switch (vk) { |
8445 | case 0: | 8739 | case 0: |
8446 | dasm_put(Dst, 4835); | 8740 | dasm_put(Dst, 5076); |
8447 | break; | 8741 | break; |
8448 | case 1: | 8742 | case 1: |
8449 | dasm_put(Dst, 4841); | 8743 | dasm_put(Dst, 5082); |
8450 | break; | 8744 | break; |
8451 | default: | 8745 | default: |
8452 | dasm_put(Dst, 4847); | 8746 | dasm_put(Dst, 5088); |
8453 | break; | 8747 | break; |
8454 | } | 8748 | } |
8455 | dasm_put(Dst, 4853); | 8749 | dasm_put(Dst, 5094); |
8456 | switch (vk) { | 8750 | switch (vk) { |
8457 | case 0: | 8751 | case 0: |
8458 | dasm_put(Dst, 4880); | 8752 | dasm_put(Dst, 5121); |
8459 | break; | 8753 | break; |
8460 | case 1: | 8754 | case 1: |
8461 | dasm_put(Dst, 4883); | 8755 | dasm_put(Dst, 5124); |
8462 | break; | 8756 | break; |
8463 | default: | 8757 | default: |
8464 | dasm_put(Dst, 4886); | 8758 | dasm_put(Dst, 5127); |
8465 | break; | 8759 | break; |
8466 | } | 8760 | } |
8467 | dasm_put(Dst, 4889); | 8761 | dasm_put(Dst, 5130); |
8468 | if (vk == 1) { | 8762 | if (vk == 1) { |
8469 | dasm_put(Dst, 4891); | 8763 | dasm_put(Dst, 5132); |
8470 | } else { | 8764 | } else { |
8471 | dasm_put(Dst, 4895); | 8765 | dasm_put(Dst, 5136); |
8472 | } | 8766 | } |
8473 | switch (vk) { | 8767 | switch (vk) { |
8474 | case 0: | 8768 | case 0: |
8475 | dasm_put(Dst, 4899); | 8769 | dasm_put(Dst, 5140); |
8476 | break; | 8770 | break; |
8477 | case 1: | 8771 | case 1: |
8478 | dasm_put(Dst, 4902); | 8772 | dasm_put(Dst, 5143); |
8479 | break; | 8773 | break; |
8480 | default: | 8774 | default: |
8481 | dasm_put(Dst, 4905); | 8775 | dasm_put(Dst, 5146); |
8482 | break; | 8776 | break; |
8483 | } | 8777 | } |
8484 | dasm_put(Dst, 4908); | 8778 | dasm_put(Dst, 5149); |
8485 | } else { | 8779 | } else { |
8486 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8780 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8487 | switch (vk) { | 8781 | switch (vk) { |
8488 | case 0: | 8782 | case 0: |
8489 | dasm_put(Dst, 4915); | 8783 | dasm_put(Dst, 5156); |
8490 | if (LJ_DUALNUM) { | 8784 | if (LJ_DUALNUM) { |
8491 | dasm_put(Dst, 4917); | 8785 | dasm_put(Dst, 5158); |
8492 | } | 8786 | } |
8493 | dasm_put(Dst, 4919); | 8787 | dasm_put(Dst, 5160); |
8494 | if (LJ_DUALNUM) { | 8788 | if (LJ_DUALNUM) { |
8495 | dasm_put(Dst, 4922); | 8789 | dasm_put(Dst, 5163); |
8496 | } else { | 8790 | } else { |
8497 | dasm_put(Dst, 4928); | 8791 | dasm_put(Dst, 5169); |
8498 | } | 8792 | } |
8499 | break; | 8793 | break; |
8500 | case 1: | 8794 | case 1: |
8501 | dasm_put(Dst, 4932); | 8795 | dasm_put(Dst, 5173); |
8502 | if (LJ_DUALNUM) { | 8796 | if (LJ_DUALNUM) { |
8503 | dasm_put(Dst, 4934); | 8797 | dasm_put(Dst, 5175); |
8504 | } | 8798 | } |
8505 | dasm_put(Dst, 4936); | 8799 | dasm_put(Dst, 5177); |
8506 | if (LJ_DUALNUM) { | 8800 | if (LJ_DUALNUM) { |
8507 | dasm_put(Dst, 4939); | 8801 | dasm_put(Dst, 5180); |
8508 | } else { | 8802 | } else { |
8509 | dasm_put(Dst, 4945); | 8803 | dasm_put(Dst, 5186); |
8510 | } | 8804 | } |
8511 | break; | 8805 | break; |
8512 | default: | 8806 | default: |
8513 | dasm_put(Dst, 4949); | 8807 | dasm_put(Dst, 5190); |
8514 | break; | 8808 | break; |
8515 | } | 8809 | } |
8516 | dasm_put(Dst, 4959); | 8810 | dasm_put(Dst, 5200); |
8517 | } | 8811 | } |
8518 | break; | 8812 | break; |
8519 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 8813 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
8520 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8814 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8521 | switch (vk) { | 8815 | switch (vk) { |
8522 | case 0: | 8816 | case 0: |
8523 | dasm_put(Dst, 4972); | 8817 | dasm_put(Dst, 5213); |
8524 | if (LJ_DUALNUM) { | 8818 | if (LJ_DUALNUM) { |
8525 | dasm_put(Dst, 4974); | 8819 | dasm_put(Dst, 5215); |
8526 | } | 8820 | } |
8527 | dasm_put(Dst, 4976); | 8821 | dasm_put(Dst, 5217); |
8528 | if (LJ_DUALNUM) { | 8822 | if (LJ_DUALNUM) { |
8529 | dasm_put(Dst, 4979); | 8823 | dasm_put(Dst, 5220); |
8530 | } else { | 8824 | } else { |
8531 | dasm_put(Dst, 4985); | 8825 | dasm_put(Dst, 5226); |
8532 | } | 8826 | } |
8533 | break; | 8827 | break; |
8534 | case 1: | 8828 | case 1: |
8535 | dasm_put(Dst, 4989); | 8829 | dasm_put(Dst, 5230); |
8536 | if (LJ_DUALNUM) { | 8830 | if (LJ_DUALNUM) { |
8537 | dasm_put(Dst, 4991); | 8831 | dasm_put(Dst, 5232); |
8538 | } | 8832 | } |
8539 | dasm_put(Dst, 4993); | 8833 | dasm_put(Dst, 5234); |
8540 | if (LJ_DUALNUM) { | 8834 | if (LJ_DUALNUM) { |
8541 | dasm_put(Dst, 4996); | 8835 | dasm_put(Dst, 5237); |
8542 | } else { | 8836 | } else { |
8543 | dasm_put(Dst, 5002); | 8837 | dasm_put(Dst, 5243); |
8544 | } | 8838 | } |
8545 | break; | 8839 | break; |
8546 | default: | 8840 | default: |
8547 | dasm_put(Dst, 5006); | 8841 | dasm_put(Dst, 5247); |
8548 | break; | 8842 | break; |
8549 | } | 8843 | } |
8550 | dasm_put(Dst, 5016); | 8844 | dasm_put(Dst, 5257); |
8551 | break; | 8845 | break; |
8552 | case BC_MODVN: | 8846 | case BC_MODVN: |
8553 | if (LJ_DUALNUM) { | 8847 | if (LJ_DUALNUM) { |
8554 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8848 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8555 | switch (vk) { | 8849 | switch (vk) { |
8556 | case 0: | 8850 | case 0: |
8557 | dasm_put(Dst, 5029); | 8851 | dasm_put(Dst, 5270); |
8558 | break; | 8852 | break; |
8559 | case 1: | 8853 | case 1: |
8560 | dasm_put(Dst, 5035); | 8854 | dasm_put(Dst, 5276); |
8561 | break; | 8855 | break; |
8562 | default: | 8856 | default: |
8563 | dasm_put(Dst, 5041); | 8857 | dasm_put(Dst, 5282); |
8564 | break; | 8858 | break; |
8565 | } | 8859 | } |
8566 | dasm_put(Dst, 5047); | 8860 | dasm_put(Dst, 5288); |
8567 | switch (vk) { | 8861 | switch (vk) { |
8568 | case 0: | 8862 | case 0: |
8569 | dasm_put(Dst, 5075); | 8863 | dasm_put(Dst, 5316); |
8570 | break; | 8864 | break; |
8571 | case 1: | 8865 | case 1: |
8572 | dasm_put(Dst, 5078); | 8866 | dasm_put(Dst, 5319); |
8573 | break; | 8867 | break; |
8574 | default: | 8868 | default: |
8575 | dasm_put(Dst, 5081); | 8869 | dasm_put(Dst, 5322); |
8576 | break; | 8870 | break; |
8577 | } | 8871 | } |
8578 | dasm_put(Dst, 5084); | 8872 | dasm_put(Dst, 5325); |
8579 | if (vk == 1) { | 8873 | if (vk == 1) { |
8580 | dasm_put(Dst, 5086); | 8874 | dasm_put(Dst, 5327); |
8581 | } else { | 8875 | } else { |
8582 | dasm_put(Dst, 5090); | 8876 | dasm_put(Dst, 5331); |
8583 | } | 8877 | } |
8584 | switch (vk) { | 8878 | switch (vk) { |
8585 | case 0: | 8879 | case 0: |
8586 | dasm_put(Dst, 5094); | 8880 | dasm_put(Dst, 5335); |
8587 | break; | 8881 | break; |
8588 | case 1: | 8882 | case 1: |
8589 | dasm_put(Dst, 5097); | 8883 | dasm_put(Dst, 5338); |
8590 | break; | 8884 | break; |
8591 | default: | 8885 | default: |
8592 | dasm_put(Dst, 5100); | 8886 | dasm_put(Dst, 5341); |
8593 | break; | 8887 | break; |
8594 | } | 8888 | } |
8595 | dasm_put(Dst, 5103); | 8889 | dasm_put(Dst, 5344); |
8596 | } else { | 8890 | } else { |
8597 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8891 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8598 | switch (vk) { | 8892 | switch (vk) { |
8599 | case 0: | 8893 | case 0: |
8600 | dasm_put(Dst, 5115); | 8894 | dasm_put(Dst, 5356); |
8601 | if (LJ_DUALNUM) { | 8895 | if (LJ_DUALNUM) { |
8602 | dasm_put(Dst, 5117); | 8896 | dasm_put(Dst, 5358); |
8603 | } | 8897 | } |
8604 | dasm_put(Dst, 5119); | 8898 | dasm_put(Dst, 5360); |
8605 | if (LJ_DUALNUM) { | 8899 | if (LJ_DUALNUM) { |
8606 | dasm_put(Dst, 5122); | 8900 | dasm_put(Dst, 5363); |
8607 | } else { | 8901 | } else { |
8608 | dasm_put(Dst, 5128); | 8902 | dasm_put(Dst, 5369); |
8609 | } | 8903 | } |
8610 | break; | 8904 | break; |
8611 | case 1: | 8905 | case 1: |
8612 | dasm_put(Dst, 5132); | 8906 | dasm_put(Dst, 5373); |
8613 | if (LJ_DUALNUM) { | 8907 | if (LJ_DUALNUM) { |
8614 | dasm_put(Dst, 5134); | 8908 | dasm_put(Dst, 5375); |
8615 | } | 8909 | } |
8616 | dasm_put(Dst, 5136); | 8910 | dasm_put(Dst, 5377); |
8617 | if (LJ_DUALNUM) { | 8911 | if (LJ_DUALNUM) { |
8618 | dasm_put(Dst, 5139); | 8912 | dasm_put(Dst, 5380); |
8619 | } else { | 8913 | } else { |
8620 | dasm_put(Dst, 5145); | 8914 | dasm_put(Dst, 5386); |
8621 | } | 8915 | } |
8622 | break; | 8916 | break; |
8623 | default: | 8917 | default: |
8624 | dasm_put(Dst, 5149); | 8918 | dasm_put(Dst, 5390); |
8625 | break; | 8919 | break; |
8626 | } | 8920 | } |
8627 | dasm_put(Dst, 5159); | 8921 | dasm_put(Dst, 5400); |
8628 | } | 8922 | } |
8629 | break; | 8923 | break; |
8630 | case BC_MODNV: case BC_MODVV: | 8924 | case BC_MODNV: case BC_MODVV: |
@@ -8632,298 +8926,298 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8632 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8926 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8633 | switch (vk) { | 8927 | switch (vk) { |
8634 | case 0: | 8928 | case 0: |
8635 | dasm_put(Dst, 5177); | 8929 | dasm_put(Dst, 5418); |
8636 | break; | 8930 | break; |
8637 | case 1: | 8931 | case 1: |
8638 | dasm_put(Dst, 5183); | 8932 | dasm_put(Dst, 5424); |
8639 | break; | 8933 | break; |
8640 | default: | 8934 | default: |
8641 | dasm_put(Dst, 5189); | 8935 | dasm_put(Dst, 5430); |
8642 | break; | 8936 | break; |
8643 | } | 8937 | } |
8644 | dasm_put(Dst, 5195); | 8938 | dasm_put(Dst, 5436); |
8645 | switch (vk) { | 8939 | switch (vk) { |
8646 | case 0: | 8940 | case 0: |
8647 | dasm_put(Dst, 5223); | 8941 | dasm_put(Dst, 5464); |
8648 | break; | 8942 | break; |
8649 | case 1: | 8943 | case 1: |
8650 | dasm_put(Dst, 5226); | 8944 | dasm_put(Dst, 5467); |
8651 | break; | 8945 | break; |
8652 | default: | 8946 | default: |
8653 | dasm_put(Dst, 5229); | 8947 | dasm_put(Dst, 5470); |
8654 | break; | 8948 | break; |
8655 | } | 8949 | } |
8656 | dasm_put(Dst, 5232); | 8950 | dasm_put(Dst, 5473); |
8657 | if (vk == 1) { | 8951 | if (vk == 1) { |
8658 | dasm_put(Dst, 5234); | 8952 | dasm_put(Dst, 5475); |
8659 | } else { | 8953 | } else { |
8660 | dasm_put(Dst, 5238); | 8954 | dasm_put(Dst, 5479); |
8661 | } | 8955 | } |
8662 | switch (vk) { | 8956 | switch (vk) { |
8663 | case 0: | 8957 | case 0: |
8664 | dasm_put(Dst, 5242); | 8958 | dasm_put(Dst, 5483); |
8665 | break; | 8959 | break; |
8666 | case 1: | 8960 | case 1: |
8667 | dasm_put(Dst, 5245); | 8961 | dasm_put(Dst, 5486); |
8668 | break; | 8962 | break; |
8669 | default: | 8963 | default: |
8670 | dasm_put(Dst, 5248); | 8964 | dasm_put(Dst, 5489); |
8671 | break; | 8965 | break; |
8672 | } | 8966 | } |
8673 | dasm_put(Dst, 5251); | 8967 | dasm_put(Dst, 5492); |
8674 | } else { | 8968 | } else { |
8675 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 8969 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
8676 | switch (vk) { | 8970 | switch (vk) { |
8677 | case 0: | 8971 | case 0: |
8678 | dasm_put(Dst, 5254); | 8972 | dasm_put(Dst, 5495); |
8679 | if (LJ_DUALNUM) { | 8973 | if (LJ_DUALNUM) { |
8680 | dasm_put(Dst, 5256); | 8974 | dasm_put(Dst, 5497); |
8681 | } | 8975 | } |
8682 | dasm_put(Dst, 5258); | 8976 | dasm_put(Dst, 5499); |
8683 | if (LJ_DUALNUM) { | 8977 | if (LJ_DUALNUM) { |
8684 | dasm_put(Dst, 5261); | 8978 | dasm_put(Dst, 5502); |
8685 | } else { | 8979 | } else { |
8686 | dasm_put(Dst, 5267); | 8980 | dasm_put(Dst, 5508); |
8687 | } | 8981 | } |
8688 | break; | 8982 | break; |
8689 | case 1: | 8983 | case 1: |
8690 | dasm_put(Dst, 5271); | 8984 | dasm_put(Dst, 5512); |
8691 | if (LJ_DUALNUM) { | 8985 | if (LJ_DUALNUM) { |
8692 | dasm_put(Dst, 5273); | 8986 | dasm_put(Dst, 5514); |
8693 | } | 8987 | } |
8694 | dasm_put(Dst, 5275); | 8988 | dasm_put(Dst, 5516); |
8695 | if (LJ_DUALNUM) { | 8989 | if (LJ_DUALNUM) { |
8696 | dasm_put(Dst, 5278); | 8990 | dasm_put(Dst, 5519); |
8697 | } else { | 8991 | } else { |
8698 | dasm_put(Dst, 5284); | 8992 | dasm_put(Dst, 5525); |
8699 | } | 8993 | } |
8700 | break; | 8994 | break; |
8701 | default: | 8995 | default: |
8702 | dasm_put(Dst, 5288); | 8996 | dasm_put(Dst, 5529); |
8703 | break; | 8997 | break; |
8704 | } | 8998 | } |
8705 | dasm_put(Dst, 5298); | 8999 | dasm_put(Dst, 5539); |
8706 | } | 9000 | } |
8707 | break; | 9001 | break; |
8708 | case BC_POW: | 9002 | case BC_POW: |
8709 | dasm_put(Dst, 5301); | 9003 | dasm_put(Dst, 5542); |
8710 | break; | 9004 | break; |
8711 | 9005 | ||
8712 | case BC_CAT: | 9006 | case BC_CAT: |
8713 | dasm_put(Dst, 5324, Dt1(->base), 32-3, Dt1(->base)); | 9007 | dasm_put(Dst, 5565, Dt1(->base), 32-3, Dt1(->base)); |
8714 | break; | 9008 | break; |
8715 | 9009 | ||
8716 | /* -- Constant ops ------------------------------------------------------ */ | 9010 | /* -- Constant ops ------------------------------------------------------ */ |
8717 | 9011 | ||
8718 | case BC_KSTR: | 9012 | case BC_KSTR: |
8719 | dasm_put(Dst, 5354, 32-1, LJ_TSTR); | 9013 | dasm_put(Dst, 5595, 32-1, LJ_TSTR); |
8720 | break; | 9014 | break; |
8721 | case BC_KCDATA: | 9015 | case BC_KCDATA: |
8722 | #if LJ_HASFFI | 9016 | #if LJ_HASFFI |
8723 | dasm_put(Dst, 5373, 32-1, LJ_TCDATA); | 9017 | dasm_put(Dst, 5614, 32-1, LJ_TCDATA); |
8724 | #endif | 9018 | #endif |
8725 | break; | 9019 | break; |
8726 | case BC_KSHORT: | 9020 | case BC_KSHORT: |
8727 | if (LJ_DUALNUM) { | 9021 | if (LJ_DUALNUM) { |
8728 | dasm_put(Dst, 5392, 31-13); | 9022 | dasm_put(Dst, 5633, 31-13); |
8729 | } else { | 9023 | } else { |
8730 | dasm_put(Dst, 5408, 31-13, 31-20); | 9024 | dasm_put(Dst, 5649, 31-13, 31-20); |
8731 | } | 9025 | } |
8732 | break; | 9026 | break; |
8733 | case BC_KNUM: | 9027 | case BC_KNUM: |
8734 | dasm_put(Dst, 5436); | 9028 | dasm_put(Dst, 5677); |
8735 | break; | 9029 | break; |
8736 | case BC_KPRI: | 9030 | case BC_KPRI: |
8737 | dasm_put(Dst, 5449, 32-3); | 9031 | dasm_put(Dst, 5690, 32-3); |
8738 | break; | 9032 | break; |
8739 | case BC_KNIL: | 9033 | case BC_KNIL: |
8740 | dasm_put(Dst, 5464); | 9034 | dasm_put(Dst, 5705); |
8741 | break; | 9035 | break; |
8742 | 9036 | ||
8743 | /* -- Upvalue and function ops ------------------------------------------ */ | 9037 | /* -- Upvalue and function ops ------------------------------------------ */ |
8744 | 9038 | ||
8745 | case BC_UGET: | 9039 | case BC_UGET: |
8746 | dasm_put(Dst, 5483, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); | 9040 | dasm_put(Dst, 5724, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); |
8747 | break; | 9041 | break; |
8748 | case BC_USETV: | 9042 | case BC_USETV: |
8749 | dasm_put(Dst, 5504, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); | 9043 | dasm_put(Dst, 5745, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); |
8750 | break; | 9044 | break; |
8751 | case BC_USETS: | 9045 | case BC_USETS: |
8752 | dasm_put(Dst, 5557, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_TSTR, LJ_GC_WHITES, GG_DISP2G); | 9046 | dasm_put(Dst, 5798, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_TSTR, LJ_GC_WHITES, GG_DISP2G); |
8753 | break; | 9047 | break; |
8754 | case BC_USETN: | 9048 | case BC_USETN: |
8755 | dasm_put(Dst, 5608, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); | 9049 | dasm_put(Dst, 5849, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); |
8756 | break; | 9050 | break; |
8757 | case BC_USETP: | 9051 | case BC_USETP: |
8758 | dasm_put(Dst, 5629, 32-1, 32-3, offsetof(GCfuncL, uvptr), DtA(->v)); | 9052 | dasm_put(Dst, 5870, 32-1, 32-3, offsetof(GCfuncL, uvptr), DtA(->v)); |
8759 | break; | 9053 | break; |
8760 | 9054 | ||
8761 | case BC_UCLO: | 9055 | case BC_UCLO: |
8762 | dasm_put(Dst, 5652, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base)); | 9056 | dasm_put(Dst, 5893, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base)); |
8763 | break; | 9057 | break; |
8764 | 9058 | ||
8765 | case BC_FNEW: | 9059 | case BC_FNEW: |
8766 | dasm_put(Dst, 5682, 32-1, Dt1(->base), Dt1(->base), LJ_TFUNC); | 9060 | dasm_put(Dst, 5923, 32-1, Dt1(->base), Dt1(->base), LJ_TFUNC); |
8767 | break; | 9061 | break; |
8768 | 9062 | ||
8769 | /* -- Table ops --------------------------------------------------------- */ | 9063 | /* -- Table ops --------------------------------------------------------- */ |
8770 | 9064 | ||
8771 | case BC_TNEW: | 9065 | case BC_TNEW: |
8772 | case BC_TDUP: | 9066 | case BC_TDUP: |
8773 | dasm_put(Dst, 5710, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); | 9067 | dasm_put(Dst, 5951, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); |
8774 | if (op == BC_TNEW) { | 9068 | if (op == BC_TNEW) { |
8775 | dasm_put(Dst, 5723); | 9069 | dasm_put(Dst, 5964); |
8776 | } else { | 9070 | } else { |
8777 | dasm_put(Dst, 5732, 32-1); | 9071 | dasm_put(Dst, 5973, 32-1); |
8778 | } | 9072 | } |
8779 | dasm_put(Dst, 5739, Dt1(->base), LJ_TTAB); | 9073 | dasm_put(Dst, 5980, Dt1(->base), LJ_TTAB); |
8780 | if (op == BC_TNEW) { | 9074 | if (op == BC_TNEW) { |
8781 | dasm_put(Dst, 5756); | 9075 | dasm_put(Dst, 5997); |
8782 | } | 9076 | } |
8783 | dasm_put(Dst, 5761); | 9077 | dasm_put(Dst, 6002); |
8784 | break; | 9078 | break; |
8785 | 9079 | ||
8786 | case BC_GGET: | 9080 | case BC_GGET: |
8787 | case BC_GSET: | 9081 | case BC_GSET: |
8788 | dasm_put(Dst, 5770, 32-1, Dt7(->env)); | 9082 | dasm_put(Dst, 6011, 32-1, Dt7(->env)); |
8789 | if (op == BC_GGET) { | 9083 | if (op == BC_GGET) { |
8790 | dasm_put(Dst, 5778); | 9084 | dasm_put(Dst, 6019); |
8791 | } else { | 9085 | } else { |
8792 | dasm_put(Dst, 5781); | 9086 | dasm_put(Dst, 6022); |
8793 | } | 9087 | } |
8794 | break; | 9088 | break; |
8795 | 9089 | ||
8796 | case BC_TGETV: | 9090 | case BC_TGETV: |
8797 | dasm_put(Dst, 5784); | 9091 | dasm_put(Dst, 6025); |
8798 | if (LJ_DUALNUM) { | 9092 | if (LJ_DUALNUM) { |
8799 | dasm_put(Dst, 5788); | 9093 | dasm_put(Dst, 6029); |
8800 | } else { | 9094 | } else { |
8801 | dasm_put(Dst, 5790); | 9095 | dasm_put(Dst, 6031); |
8802 | } | 9096 | } |
8803 | dasm_put(Dst, 5792, LJ_TTAB); | 9097 | dasm_put(Dst, 6033, LJ_TTAB); |
8804 | if (LJ_DUALNUM) { | 9098 | if (LJ_DUALNUM) { |
8805 | dasm_put(Dst, 5798, Dt6(->asize), Dt6(->array), 31-3); | 9099 | dasm_put(Dst, 6039, Dt6(->asize), Dt6(->array), 31-3); |
8806 | } else { | 9100 | } else { |
8807 | dasm_put(Dst, 5808, Dt6(->asize), Dt6(->array), 31-3); | 9101 | dasm_put(Dst, 6049, Dt6(->asize), Dt6(->array), 31-3); |
8808 | } | 9102 | } |
8809 | dasm_put(Dst, 5825, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TSTR); | 9103 | dasm_put(Dst, 6066, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TSTR); |
8810 | if (!LJ_DUALNUM) { | 9104 | if (!LJ_DUALNUM) { |
8811 | dasm_put(Dst, 5865); | 9105 | dasm_put(Dst, 6106); |
8812 | } | 9106 | } |
8813 | dasm_put(Dst, 5867); | 9107 | dasm_put(Dst, 6108); |
8814 | break; | 9108 | break; |
8815 | case BC_TGETS: | 9109 | case BC_TGETS: |
8816 | dasm_put(Dst, 5870, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL, DtB(->next)); | 9110 | dasm_put(Dst, 6111, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL, DtB(->next)); |
8817 | dasm_put(Dst, 5931, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 9111 | dasm_put(Dst, 6172, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
8818 | break; | 9112 | break; |
8819 | case BC_TGETB: | 9113 | case BC_TGETB: |
8820 | dasm_put(Dst, 5951, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 9114 | dasm_put(Dst, 6192, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
8821 | break; | 9115 | break; |
8822 | 9116 | ||
8823 | case BC_TSETV: | 9117 | case BC_TSETV: |
8824 | dasm_put(Dst, 5999); | 9118 | dasm_put(Dst, 6240); |
8825 | if (LJ_DUALNUM) { | 9119 | if (LJ_DUALNUM) { |
8826 | dasm_put(Dst, 6003); | 9120 | dasm_put(Dst, 6244); |
8827 | } else { | 9121 | } else { |
8828 | dasm_put(Dst, 6005); | 9122 | dasm_put(Dst, 6246); |
8829 | } | 9123 | } |
8830 | dasm_put(Dst, 6007, LJ_TTAB); | 9124 | dasm_put(Dst, 6248, LJ_TTAB); |
8831 | if (LJ_DUALNUM) { | 9125 | if (LJ_DUALNUM) { |
8832 | dasm_put(Dst, 6013, Dt6(->asize), Dt6(->array), 31-3); | 9126 | dasm_put(Dst, 6254, Dt6(->asize), Dt6(->array), 31-3); |
8833 | } else { | 9127 | } else { |
8834 | dasm_put(Dst, 6023, Dt6(->asize), Dt6(->array), 31-3); | 9128 | dasm_put(Dst, 6264, Dt6(->asize), Dt6(->array), 31-3); |
8835 | } | 9129 | } |
8836 | dasm_put(Dst, 6040, Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR); | 9130 | dasm_put(Dst, 6281, Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR); |
8837 | if (!LJ_DUALNUM) { | 9131 | if (!LJ_DUALNUM) { |
8838 | dasm_put(Dst, 6087); | 9132 | dasm_put(Dst, 6328); |
8839 | } | 9133 | } |
8840 | dasm_put(Dst, 6089, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 9134 | dasm_put(Dst, 6330, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
8841 | break; | 9135 | break; |
8842 | dasm_put(Dst, 6104, LJ_TSTR, LJ_TNIL); | 9136 | dasm_put(Dst, 6345, LJ_TSTR, LJ_TNIL); |
8843 | case BC_TSETS: | 9137 | case BC_TSETS: |
8844 | dasm_put(Dst, 6130, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL); | 9138 | dasm_put(Dst, 6371, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL); |
8845 | dasm_put(Dst, 6181, LJ_GC_BLACK, DtB(->val), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex); | 9139 | dasm_put(Dst, 6422, LJ_GC_BLACK, DtB(->val), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex); |
8846 | dasm_put(Dst, 6237, LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 9140 | dasm_put(Dst, 6478, LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
8847 | break; | 9141 | break; |
8848 | case BC_TSETB: | 9142 | case BC_TSETB: |
8849 | dasm_put(Dst, 6262, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain)); | 9143 | dasm_put(Dst, 6503, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain)); |
8850 | dasm_put(Dst, 6320, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 9144 | dasm_put(Dst, 6561, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
8851 | break; | 9145 | break; |
8852 | 9146 | ||
8853 | case BC_TSETM: | 9147 | case BC_TSETM: |
8854 | dasm_put(Dst, 6330, 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)); | 9148 | dasm_put(Dst, 6571, 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)); |
8855 | dasm_put(Dst, 6399); | 9149 | dasm_put(Dst, 6640); |
8856 | break; | 9150 | break; |
8857 | 9151 | ||
8858 | /* -- Calls and vararg handling ----------------------------------------- */ | 9152 | /* -- Calls and vararg handling ----------------------------------------- */ |
8859 | 9153 | ||
8860 | case BC_CALLM: | 9154 | case BC_CALLM: |
8861 | dasm_put(Dst, 6402); | 9155 | dasm_put(Dst, 6643); |
8862 | break; | 9156 | break; |
8863 | case BC_CALL: | 9157 | case BC_CALL: |
8864 | dasm_put(Dst, 6404, LJ_TFUNC, Dt7(->pc)); | 9158 | dasm_put(Dst, 6645, LJ_TFUNC, Dt7(->pc)); |
8865 | break; | 9159 | break; |
8866 | 9160 | ||
8867 | case BC_CALLMT: | 9161 | case BC_CALLMT: |
8868 | dasm_put(Dst, 6425); | 9162 | dasm_put(Dst, 6666); |
8869 | break; | 9163 | break; |
8870 | case BC_CALLT: | 9164 | case BC_CALLT: |
8871 | dasm_put(Dst, 6427, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); | 9165 | dasm_put(Dst, 6668, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); |
8872 | dasm_put(Dst, 6491, FRAME_TYPE); | 9166 | dasm_put(Dst, 6732, FRAME_TYPE); |
8873 | break; | 9167 | break; |
8874 | 9168 | ||
8875 | case BC_ITERC: | 9169 | case BC_ITERC: |
8876 | dasm_put(Dst, 6500, LJ_TFUNC, Dt7(->pc)); | 9170 | dasm_put(Dst, 6741, LJ_TFUNC, Dt7(->pc)); |
8877 | break; | 9171 | break; |
8878 | 9172 | ||
8879 | case BC_ITERN: | 9173 | case BC_ITERN: |
8880 | #if LJ_HASJIT | 9174 | #if LJ_HASJIT |
8881 | #endif | 9175 | #endif |
8882 | dasm_put(Dst, 6527, Dt6(->asize), Dt6(->array), 31-3, LJ_TNIL); | 9176 | dasm_put(Dst, 6768, Dt6(->asize), Dt6(->array), 31-3, LJ_TNIL); |
8883 | if (LJ_DUALNUM) { | 9177 | if (LJ_DUALNUM) { |
8884 | dasm_put(Dst, 6549); | 9178 | dasm_put(Dst, 6790); |
8885 | } else { | 9179 | } else { |
8886 | dasm_put(Dst, 6552); | 9180 | dasm_put(Dst, 6793); |
8887 | } | 9181 | } |
8888 | dasm_put(Dst, 6556, -(BCBIAS_J*4 >> 16)); | 9182 | dasm_put(Dst, 6797, -(BCBIAS_J*4 >> 16)); |
8889 | if (!LJ_DUALNUM) { | 9183 | if (!LJ_DUALNUM) { |
8890 | dasm_put(Dst, 6564); | 9184 | dasm_put(Dst, 6805); |
8891 | } | 9185 | } |
8892 | dasm_put(Dst, 6566, Dt6(->hmask), Dt6(->node), 31-5, 31-3, LJ_TNIL, DtB(->key), -(BCBIAS_J*4 >> 16)); | 9186 | dasm_put(Dst, 6807, Dt6(->hmask), Dt6(->node), 31-5, 31-3, LJ_TNIL, DtB(->key), -(BCBIAS_J*4 >> 16)); |
8893 | break; | 9187 | break; |
8894 | 9188 | ||
8895 | case BC_ISNEXT: | 9189 | case BC_ISNEXT: |
8896 | dasm_put(Dst, 6622, 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)); | 9190 | dasm_put(Dst, 6863, 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)); |
8897 | break; | 9191 | break; |
8898 | 9192 | ||
8899 | case BC_VARG: | 9193 | case BC_VARG: |
8900 | dasm_put(Dst, 6672, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base)); | 9194 | dasm_put(Dst, 6913, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base)); |
8901 | dasm_put(Dst, 6752); | 9195 | dasm_put(Dst, 6993); |
8902 | break; | 9196 | break; |
8903 | 9197 | ||
8904 | /* -- Returns ----------------------------------------------------------- */ | 9198 | /* -- Returns ----------------------------------------------------------- */ |
8905 | 9199 | ||
8906 | case BC_RETM: | 9200 | case BC_RETM: |
8907 | dasm_put(Dst, 6758); | 9201 | dasm_put(Dst, 6999); |
8908 | break; | 9202 | break; |
8909 | 9203 | ||
8910 | case BC_RET: | 9204 | case BC_RET: |
8911 | dasm_put(Dst, 6760, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); | 9205 | dasm_put(Dst, 7001, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); |
8912 | break; | 9206 | break; |
8913 | 9207 | ||
8914 | case BC_RET0: case BC_RET1: | 9208 | case BC_RET0: case BC_RET1: |
8915 | dasm_put(Dst, 6830, FRAME_TYPE, FRAME_VARG); | 9209 | dasm_put(Dst, 7071, FRAME_TYPE, FRAME_VARG); |
8916 | if (op == BC_RET1) { | 9210 | if (op == BC_RET1) { |
8917 | dasm_put(Dst, 6843); | 9211 | dasm_put(Dst, 7084); |
8918 | } | 9212 | } |
8919 | dasm_put(Dst, 6846, Dt7(->pc), PC2PROTO(k)); | 9213 | dasm_put(Dst, 7087, Dt7(->pc), PC2PROTO(k)); |
8920 | break; | 9214 | break; |
8921 | 9215 | ||
8922 | /* -- Loops and branches ------------------------------------------------ */ | 9216 | /* -- Loops and branches ------------------------------------------------ */ |
8923 | 9217 | ||
8924 | case BC_FORL: | 9218 | case BC_FORL: |
8925 | #if LJ_HASJIT | 9219 | #if LJ_HASJIT |
8926 | dasm_put(Dst, 6874); | 9220 | dasm_put(Dst, 7115, GG_DISP2HOT, -HOTCOUNT_LOOP); |
8927 | #endif | 9221 | #endif |
8928 | break; | 9222 | break; |
8929 | 9223 | ||
@@ -8936,93 +9230,93 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
8936 | case BC_IFORL: | 9230 | case BC_IFORL: |
8937 | vk = (op == BC_IFORL || op == BC_JFORL); | 9231 | vk = (op == BC_IFORL || op == BC_JFORL); |
8938 | if (LJ_DUALNUM) { | 9232 | if (LJ_DUALNUM) { |
8939 | dasm_put(Dst, 6876, FORL_IDX*8+4); | 9233 | dasm_put(Dst, 7125, FORL_IDX*8+4); |
8940 | if (vk) { | 9234 | if (vk) { |
8941 | dasm_put(Dst, 6881, FORL_STEP*8+4, FORL_STOP*8+4, FORL_IDX*8+4); | 9235 | dasm_put(Dst, 7130, FORL_STEP*8+4, FORL_STOP*8+4, FORL_IDX*8+4); |
8942 | } else { | 9236 | } else { |
8943 | dasm_put(Dst, 6895, FORL_STEP*8, FORL_STEP*8+4, FORL_STOP*8, FORL_STOP*8+4); | 9237 | dasm_put(Dst, 7144, FORL_STEP*8, FORL_STEP*8+4, FORL_STOP*8, FORL_STOP*8+4); |
8944 | } | 9238 | } |
8945 | dasm_put(Dst, 6911, FORL_EXT*8); | 9239 | dasm_put(Dst, 7160, FORL_EXT*8); |
8946 | if (op != BC_JFORL) { | 9240 | if (op != BC_JFORL) { |
8947 | dasm_put(Dst, 6918, 32-1); | 9241 | dasm_put(Dst, 7167, 32-1); |
8948 | } | 9242 | } |
8949 | dasm_put(Dst, 6921, FORL_EXT*8+4); | 9243 | dasm_put(Dst, 7170, FORL_EXT*8+4); |
8950 | if (op != BC_JFORL) { | 9244 | if (op != BC_JFORL) { |
8951 | dasm_put(Dst, 6924); | 9245 | dasm_put(Dst, 7173); |
8952 | } | 9246 | } |
8953 | if (op == BC_FORI) { | 9247 | if (op == BC_FORI) { |
8954 | dasm_put(Dst, 6926); | 9248 | dasm_put(Dst, 7175); |
8955 | } else if (op == BC_JFORI) { | 9249 | } else if (op == BC_JFORI) { |
8956 | dasm_put(Dst, 6929, -(BCBIAS_J*4 >> 16), BC_JLOOP); | 9250 | dasm_put(Dst, 7178, -(BCBIAS_J*4 >> 16), BC_JLOOP); |
8957 | } else if (op == BC_IFORL) { | 9251 | } else if (op == BC_IFORL) { |
8958 | dasm_put(Dst, 6934, -(BCBIAS_J*4 >> 16)); | 9252 | dasm_put(Dst, 7183, -(BCBIAS_J*4 >> 16)); |
8959 | } else { | 9253 | } else { |
8960 | dasm_put(Dst, 6939, BC_JLOOP); | 9254 | dasm_put(Dst, 7188, BC_JLOOP); |
8961 | } | 9255 | } |
8962 | dasm_put(Dst, 6942); | 9256 | dasm_put(Dst, 7191); |
8963 | if (vk) { | 9257 | if (vk) { |
8964 | dasm_put(Dst, 6958); | 9258 | dasm_put(Dst, 7207); |
8965 | } | 9259 | } |
8966 | } | 9260 | } |
8967 | if (vk) { | 9261 | if (vk) { |
8968 | if (LJ_DUALNUM) { | 9262 | if (LJ_DUALNUM) { |
8969 | dasm_put(Dst, 6965, FORL_IDX*8); | 9263 | dasm_put(Dst, 7214, FORL_IDX*8); |
8970 | } else { | 9264 | } else { |
8971 | dasm_put(Dst, 6969); | 9265 | dasm_put(Dst, 7218); |
8972 | } | 9266 | } |
8973 | dasm_put(Dst, 6971, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8, FORL_IDX*8); | 9267 | dasm_put(Dst, 7220, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8, FORL_IDX*8); |
8974 | } else { | 9268 | } else { |
8975 | if (LJ_DUALNUM) { | 9269 | if (LJ_DUALNUM) { |
8976 | dasm_put(Dst, 6981); | 9270 | dasm_put(Dst, 7230); |
8977 | } else { | 9271 | } else { |
8978 | dasm_put(Dst, 6983, FORL_STEP*8, FORL_STOP*8); | 9272 | dasm_put(Dst, 7232, FORL_STEP*8, FORL_STOP*8); |
8979 | } | 9273 | } |
8980 | dasm_put(Dst, 6992, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8); | 9274 | dasm_put(Dst, 7241, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8); |
8981 | } | 9275 | } |
8982 | dasm_put(Dst, 7003); | 9276 | dasm_put(Dst, 7252); |
8983 | if (op != BC_JFORL) { | 9277 | if (op != BC_JFORL) { |
8984 | dasm_put(Dst, 7005, 32-1); | 9278 | dasm_put(Dst, 7254, 32-1); |
8985 | } | 9279 | } |
8986 | dasm_put(Dst, 7008, FORL_EXT*8); | 9280 | dasm_put(Dst, 7257, FORL_EXT*8); |
8987 | if (op != BC_JFORL) { | 9281 | if (op != BC_JFORL) { |
8988 | dasm_put(Dst, 7011); | 9282 | dasm_put(Dst, 7260); |
8989 | } | 9283 | } |
8990 | dasm_put(Dst, 7013); | 9284 | dasm_put(Dst, 7262); |
8991 | if (op == BC_JFORI) { | 9285 | if (op == BC_JFORI) { |
8992 | dasm_put(Dst, 7015, -(BCBIAS_J*4 >> 16)); | 9286 | dasm_put(Dst, 7264, -(BCBIAS_J*4 >> 16)); |
8993 | } | 9287 | } |
8994 | dasm_put(Dst, 7018); | 9288 | dasm_put(Dst, 7267); |
8995 | if (op == BC_FORI) { | 9289 | if (op == BC_FORI) { |
8996 | dasm_put(Dst, 7021); | 9290 | dasm_put(Dst, 7270); |
8997 | } else if (op == BC_IFORL) { | 9291 | } else if (op == BC_IFORL) { |
8998 | if (LJ_DUALNUM) { | 9292 | if (LJ_DUALNUM) { |
8999 | dasm_put(Dst, 7024); | 9293 | dasm_put(Dst, 7273); |
9000 | } else { | 9294 | } else { |
9001 | dasm_put(Dst, 7027); | 9295 | dasm_put(Dst, 7276); |
9002 | } | 9296 | } |
9003 | dasm_put(Dst, 7030, -(BCBIAS_J*4 >> 16)); | 9297 | dasm_put(Dst, 7279, -(BCBIAS_J*4 >> 16)); |
9004 | } else { | 9298 | } else { |
9005 | dasm_put(Dst, 7034, BC_JLOOP); | 9299 | dasm_put(Dst, 7283, BC_JLOOP); |
9006 | } | 9300 | } |
9007 | if (LJ_DUALNUM) { | 9301 | if (LJ_DUALNUM) { |
9008 | dasm_put(Dst, 7037); | 9302 | dasm_put(Dst, 7286); |
9009 | } else { | 9303 | } else { |
9010 | dasm_put(Dst, 7040); | 9304 | dasm_put(Dst, 7289); |
9011 | } | 9305 | } |
9012 | dasm_put(Dst, 7052); | 9306 | dasm_put(Dst, 7301); |
9013 | if (op == BC_FORI) { | 9307 | if (op == BC_FORI) { |
9014 | dasm_put(Dst, 7054, -(BCBIAS_J*4 >> 16)); | 9308 | dasm_put(Dst, 7303, -(BCBIAS_J*4 >> 16)); |
9015 | } else if (op == BC_IFORL) { | 9309 | } else if (op == BC_IFORL) { |
9016 | dasm_put(Dst, 7060); | 9310 | dasm_put(Dst, 7309); |
9017 | } else { | 9311 | } else { |
9018 | dasm_put(Dst, 7063, BC_JLOOP); | 9312 | dasm_put(Dst, 7312, BC_JLOOP); |
9019 | } | 9313 | } |
9020 | dasm_put(Dst, 7066); | 9314 | dasm_put(Dst, 7315); |
9021 | break; | 9315 | break; |
9022 | 9316 | ||
9023 | case BC_ITERL: | 9317 | case BC_ITERL: |
9024 | #if LJ_HASJIT | 9318 | #if LJ_HASJIT |
9025 | dasm_put(Dst, 7069); | 9319 | dasm_put(Dst, 7318, GG_DISP2HOT, -HOTCOUNT_LOOP); |
9026 | #endif | 9320 | #endif |
9027 | break; | 9321 | break; |
9028 | 9322 | ||
@@ -9031,40 +9325,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
9031 | break; | 9325 | break; |
9032 | #endif | 9326 | #endif |
9033 | case BC_IITERL: | 9327 | case BC_IITERL: |
9034 | dasm_put(Dst, 7071, LJ_TNIL); | 9328 | dasm_put(Dst, 7328, LJ_TNIL); |
9035 | if (op == BC_JITERL) { | 9329 | if (op == BC_JITERL) { |
9036 | dasm_put(Dst, 7078); | 9330 | dasm_put(Dst, 7335, BC_JLOOP); |
9037 | } else { | 9331 | } else { |
9038 | dasm_put(Dst, 7080, 32-1, -(BCBIAS_J*4 >> 16)); | 9332 | dasm_put(Dst, 7340, 32-1, -(BCBIAS_J*4 >> 16)); |
9039 | } | 9333 | } |
9040 | dasm_put(Dst, 7088); | 9334 | dasm_put(Dst, 7348); |
9041 | break; | 9335 | break; |
9042 | 9336 | ||
9043 | case BC_LOOP: | 9337 | case BC_LOOP: |
9044 | #if LJ_HASJIT | 9338 | #if LJ_HASJIT |
9045 | dasm_put(Dst, 7100); | 9339 | dasm_put(Dst, 7360, GG_DISP2HOT, -HOTCOUNT_LOOP); |
9046 | #endif | 9340 | #endif |
9047 | break; | 9341 | break; |
9048 | 9342 | ||
9049 | case BC_ILOOP: | 9343 | case BC_ILOOP: |
9050 | dasm_put(Dst, 7102); | 9344 | dasm_put(Dst, 7370); |
9051 | break; | 9345 | break; |
9052 | 9346 | ||
9053 | case BC_JLOOP: | 9347 | case BC_JLOOP: |
9054 | #if LJ_HASJIT | 9348 | #if LJ_HASJIT |
9055 | dasm_put(Dst, 7113); | 9349 | dasm_put(Dst, 7381, DISPATCH_J(trace), 32-1, DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), GG_DISP2G+32768); |
9056 | #endif | 9350 | #endif |
9057 | break; | 9351 | break; |
9058 | 9352 | ||
9059 | case BC_JMP: | 9353 | case BC_JMP: |
9060 | dasm_put(Dst, 7115, 32-1, -(BCBIAS_J*4 >> 16)); | 9354 | dasm_put(Dst, 7398, 32-1, -(BCBIAS_J*4 >> 16)); |
9061 | break; | 9355 | break; |
9062 | 9356 | ||
9063 | /* -- Function headers -------------------------------------------------- */ | 9357 | /* -- Function headers -------------------------------------------------- */ |
9064 | 9358 | ||
9065 | case BC_FUNCF: | 9359 | case BC_FUNCF: |
9066 | #if LJ_HASJIT | 9360 | #if LJ_HASJIT |
9067 | dasm_put(Dst, 7131); | 9361 | dasm_put(Dst, 7414, GG_DISP2HOT, -HOTCOUNT_CALL); |
9068 | #endif | 9362 | #endif |
9069 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 9363 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
9070 | break; | 9364 | break; |
@@ -9074,38 +9368,42 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
9074 | break; | 9368 | break; |
9075 | #endif | 9369 | #endif |
9076 | case BC_IFUNCF: | 9370 | case BC_IFUNCF: |
9077 | dasm_put(Dst, 7133, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3); | 9371 | dasm_put(Dst, 7424, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3); |
9372 | if (op != BC_JFUNCF) { | ||
9373 | dasm_put(Dst, 7436); | ||
9374 | } | ||
9375 | dasm_put(Dst, 7439); | ||
9078 | if (op == BC_JFUNCF) { | 9376 | if (op == BC_JFUNCF) { |
9079 | dasm_put(Dst, 7151); | 9377 | dasm_put(Dst, 7444, BC_JLOOP); |
9080 | } else { | 9378 | } else { |
9081 | dasm_put(Dst, 7153); | 9379 | dasm_put(Dst, 7448); |
9082 | } | 9380 | } |
9083 | dasm_put(Dst, 7162); | 9381 | dasm_put(Dst, 7457); |
9084 | break; | 9382 | break; |
9085 | 9383 | ||
9086 | case BC_JFUNCV: | 9384 | case BC_JFUNCV: |
9087 | #if !LJ_HASJIT | 9385 | #if !LJ_HASJIT |
9088 | break; | 9386 | break; |
9089 | #endif | 9387 | #endif |
9090 | dasm_put(Dst, 7168); | 9388 | dasm_put(Dst, 7463); |
9091 | break; /* NYI: compiled vararg functions. */ | 9389 | break; /* NYI: compiled vararg functions. */ |
9092 | 9390 | ||
9093 | case BC_IFUNCV: | 9391 | case BC_IFUNCV: |
9094 | dasm_put(Dst, 7170, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), LJ_TNIL); | 9392 | dasm_put(Dst, 7465, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), LJ_TNIL); |
9095 | break; | 9393 | break; |
9096 | 9394 | ||
9097 | case BC_FUNCC: | 9395 | case BC_FUNCC: |
9098 | case BC_FUNCCW: | 9396 | case BC_FUNCCW: |
9099 | if (op == BC_FUNCC) { | 9397 | if (op == BC_FUNCC) { |
9100 | dasm_put(Dst, 7223, Dt8(->f)); | 9398 | dasm_put(Dst, 7518, Dt8(->f)); |
9101 | } else { | 9399 | } else { |
9102 | dasm_put(Dst, 7226, DISPATCH_GL(wrapf)); | 9400 | dasm_put(Dst, 7521, DISPATCH_GL(wrapf)); |
9103 | } | 9401 | } |
9104 | dasm_put(Dst, 7229, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C); | 9402 | dasm_put(Dst, 7524, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C); |
9105 | if (op == BC_FUNCCW) { | 9403 | if (op == BC_FUNCCW) { |
9106 | dasm_put(Dst, 7242, Dt8(->f)); | 9404 | dasm_put(Dst, 7537, Dt8(->f)); |
9107 | } | 9405 | } |
9108 | dasm_put(Dst, 7245, DISPATCH_GL(vmstate), Dt1(->base), 31-3, Dt1(->top), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate)); | 9406 | dasm_put(Dst, 7540, DISPATCH_GL(vmstate), Dt1(->base), 31-3, Dt1(->top), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate)); |
9109 | break; | 9407 | break; |
9110 | 9408 | ||
9111 | /* ---------------------------------------------------------------------- */ | 9409 | /* ---------------------------------------------------------------------- */ |
@@ -9125,7 +9423,7 @@ static int build_backend(BuildCtx *ctx) | |||
9125 | 9423 | ||
9126 | build_subroutines(ctx); | 9424 | build_subroutines(ctx); |
9127 | 9425 | ||
9128 | dasm_put(Dst, 7266); | 9426 | dasm_put(Dst, 7561); |
9129 | for (op = 0; op < BC__MAX; op++) | 9427 | for (op = 0; op < BC__MAX; op++) |
9130 | build_ins(ctx, (BCOp)op, op); | 9428 | build_ins(ctx, (BCOp)op, op); |
9131 | 9429 | ||