Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
- New kmode for runtime optimization in pre-processor
- Updated deserializers to match new pre-processed data.
- Increased Test Timeout time.
  • Loading branch information
SnorlaxAssist committed Mar 27, 2024
1 parent 18df0db commit 97636a9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
7 changes: 4 additions & 3 deletions Source.lua
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ local opList = {
{ "SETLIST", 3, 0, true },
{ "FORNPREP", 4, 0, false },
{ "FORNLOOP", 4, 0, false },
{ "FORGLOOP", 4, 0, true },
{ "FORGLOOP", 4, 8, true },
{ "FORGPREP_INEXT", 4, 0, false },
{ "DEP_FORGLOOP_INEXT", 0, 0, false },
{ "FORGPREP_NEXT", 4, 0, false },
Expand Down Expand Up @@ -330,6 +330,8 @@ local function luau_deserialize(bytecode, luau_settings)
inst.KN = bit32_extract(inst.aux, 31, 1) == 1
elseif kmode == 7 then --// B
inst.K = k[inst.B + 1]
elseif kmode == 8 then --// AUX number low 16 bits
inst.K = bit32_band(inst.aux, 0xf)
end
end

Expand Down Expand Up @@ -953,8 +955,7 @@ local function luau_load(module, env, luau_settings)
end

local A = inst.A
local aux = inst.aux
local res = bit32_band(aux, 0xf);
local res = inst.K

top = A + 6

Expand Down
18 changes: 9 additions & 9 deletions tests/Conformance/Deserializer/Instructions/Loops.lua
Original file line number Diff line number Diff line change
Expand Up @@ -171,63 +171,63 @@ local encodedModule, constantList, stringList = [[
3 3 0 ? 3 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 1 1 3 4 ? ? 2 ? ? ? ? ? 1; ~ 1; 5 4 3 ? 4 ? ? 1 ? 2 ? ? ? ? ? ?
12 4 4 1075838976 2 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 2 3 1 ? ? ? ? ? ? ? ? ?; 12 4 4 1077936128 2 ? ? 5 ? ? 5 ? ? ? 1 1
~ 1077936128; 6 2 0 ? 3 0 ? ? ? ? ? ? ? ? ? ?; 21 3 0 ? 2 2 4 ? ? ? ? ? ? ? ? ?; 59 4 0 ? 2 ? ? 1 ? ? ? ? ? ? ? ?
33 3 0 ? 1 1 6 ? ? ? ? ? ? ? ? ?; 58 4 0 2147483650 2 ? ? -2 ? ? ? ? ? ? ? 1; ~ 2147483650; 79 4 6 6 1 ? ? 2 ? 7 ? ? ? 0 ? 1
33 3 0 ? 1 1 6 ? ? ? ? ? ? ? ? ?; 58 4 8 2147483650 2 ? ? -2 ? 11 ? ? ? ? ? 1; ~ 2147483650; 79 4 6 6 1 ? ? 2 ? 7 ? ? ? 0 ? 1
~ 6; 3 3 0 ? 3 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 3 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 7 1 3 4 ? ? 8 ? ? ? ? ? 1
~ 7; 5 4 3 ? 4 ? ? 7 ? 8 ? ? ? ? ? ?; 12 4 4 1075838976 2 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976
21 3 0 ? 2 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 12 4 4 1082130432 2 ? ? 9 ? ? 9 ? ? ? 1 1; ~ 1082130432
6 2 0 ? 3 0 ? ? ? ? ? ? ? ? ? ?; 21 3 0 ? 2 2 4 ? ? ? ? ? ? ? ? ?; 61 4 0 ? 2 ? ? 2 ? ? ? ? ? ? ? ?; 41 3 2 ? 7 6 10 ? ? 11 ? ? ? ? ? ?
33 3 0 ? 1 1 7 ? ? ? ? ? ? ? ? ?; 58 4 0 2 2 ? ? -3 ? ? ? ? ? ? ? 1; ~ 2; 79 4 6 11 1 ? ? 2 ? 12 ? ? ? 0 ? 1
33 3 0 ? 1 1 7 ? ? ? ? ? ? ? ? ?; 58 4 8 2 2 ? ? -3 ? 11 ? ? ? ? ? 1; ~ 2; 79 4 6 11 1 ? ? 2 ? 12 ? ? ? 0 ? 1
~ 11; 3 3 0 ? 3 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 3 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 12 1 3 4 ? ? 13 ? ? ? ? ? 1
~ 12; 5 4 3 ? 4 ? ? 12 ? 13 ? ? ? ? ? ?; 12 4 4 1075838976 2 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976
21 3 0 ? 2 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 6 2 0 ? 2 0 ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 3 ? ? ? ? ? ? ? ? ? ? ?
2 1 0 ? 4 ? ? ? ? ? ? ? ? ? ? ?; 76 4 0 ? 2 ? ? 2 ? ? ? ? ? ? ? ?; 41 3 2 ? 7 6 13 ? ? 14 ? ? ? ? ? ?; 33 3 0 ? 1 1 7 ? ? ? ? ? ? ? ? ?
58 4 0 2 2 ? ? -3 ? ? ? ? ? ? ? 1; ~ 2; 79 4 6 14 1 ? ? 2 ? 15 ? ? ? 0 ? 1; ~ 14
58 4 8 2 2 ? ? -3 ? 11 ? ? ? ? ? 1; ~ 2; 79 4 6 14 1 ? ? 2 ? 15 ? ? ? 0 ? 1; ~ 14
3 3 0 ? 3 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 3 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 15 1 3 4 ? ? 16 ? ? ? ? ? 1; ~ 15
5 4 3 ? 4 ? ? 15 ? 16 ? ? ? ? ? ?; 12 4 4 1075838976 2 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 2 3 1 ? ? ? ? ? ? ? ? ?
4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 54 4 3 ? 2 ? ? 19 ? 20 ? ? ? ? ? ?; 4 4 0 ? 5 ? ? 1 ? ? ? ? ? ? ? ?; 16 3 1 16 5 2 128 ? ? 17 ? ? ? ? ? 1
~ 16; 4 4 0 ? 5 ? ? 2 ? ? ? ? ? ? ? ?; 16 3 1 17 5 2 131 ? ? 18 ? ? ? ? ? 1; ~ 17
4 4 0 ? 5 ? ? 3 ? ? ? ? ? ? ? ?; 16 3 1 18 5 2 130 ? ? 19 ? ? ? ? ? 1; ~ 18; 2 1 0 ? 3 ? ? ? ? ? ? ? ? ? ? ?
2 1 0 ? 4 ? ? ? ? ? ? ? ? ? ? ?; 76 4 0 ? 2 ? ? 2 ? ? ? ? ? ? ? ?; 39 3 2 ? 7 6 20 ? ? 21 ? ? ? ? ? ?; 33 3 0 ? 1 1 7 ? ? ? ? ? ? ? ? ?
58 4 0 2 2 ? ? -3 ? ? ? ? ? ? ? 1; ~ 2; 79 4 6 21 1 ? ? 2 ? 22 ? ? ? 0 ? 1; ~ 21
58 4 8 2 2 ? ? -3 ? 11 ? ? ? ? ? 1; ~ 2; 79 4 6 21 1 ? ? 2 ? 22 ? ? ? 0 ? 1; ~ 21
3 3 0 ? 3 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 3 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 22 1 3 4 ? ? 23 ? ? ? ? ? 1; ~ 22
5 4 3 ? 4 ? ? 22 ? 23 ? ? ? ? ? ?; 12 4 4 1075838976 2 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 2 3 1 ? ? ? ? ? ? ? ? ?
5 4 3 ? 2 ? ? 23 ? 24 ? ? ? ? ? ?; 53 2 0 5 3 0 ? ? ? ? ? ? ? ? ? 1; ~ 5; 4 4 0 ? 6 ? ? 1 ? ? ? ? ? ? ? ?
4 4 0 ? 7 ? ? 2 ? ? ? ? ? ? ? ?; 4 4 0 ? 8 ? ? 3 ? ? ? ? ? ? ? ?; 2 1 0 ? 9 ? ? ? ? ? ? ? ? ? ? ?; 4 4 0 ? 10 ? ? 5 ? ? ? ? ? ? ? ?
55 3 0 1 3 6 6 ? ? ? ? ? ? ? ? 1; ~ 1; 2 1 0 ? 4 ? ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 5 ? ? ? ? ? ? ? ? ? ? ?
76 4 0 ? 3 ? ? 7 ? ? ? ? ? ? ? ?; 6 2 0 ? 8 2 ? ? ? ? ? ? ? ? ? ?; 73 3 0 ? 63 7 3 ? ? ? ? ? ? ? ? ?; 6 2 0 ? 10 7 ? ? ? ? ? ? ? ? ? ?
12 4 4 1098907648 9 ? ? 25 ? ? 25 ? ? ? 1 1; ~ 1098907648; 21 3 0 ? 9 2 2 ? ? ? ? ? ? ? ? ?; 49 3 0 ? 2 8 9 ? ? ? ? ? ? ? ? ?
58 4 0 2 3 ? ? -8 ? ? ? ? ? ? ? 1; ~ 2; 80 4 6 26 2 ? ? 2 ? 27 ? ? ? 0 ? 1; ~ 26
58 4 8 2 3 ? ? -8 ? 11 ? ? ? ? ? 1; ~ 2; 80 4 6 26 2 ? ? 2 ? 27 ? ? ? 0 ? 1; ~ 26
3 3 0 ? 4 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 27 1 4 4 ? ? 28 ? ? ? ? ? 1; ~ 27
5 4 3 ? 5 ? ? 27 ? 28 ? ? ? ? ? ?; 12 4 4 1075838976 3 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 3 3 1 ? ? ? ? ? ? ? ? ?
4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 53 2 0 0 4 0 ? ? ? ? ? ? ? ? ? 1; ~ 0; 54 4 3 ? 5 ? ? 29 ? 30 ? ? ? ? ? ?
64 4 3 ? 6 ? ? 30 ? 31 ? ? ? ? ? ?; 16 3 1 28 6 5 239 ? ? 29 ? ? ? ? ? 1; ~ 28; 74 3 0 5 61 4 3 ? ? ? ? ? ? ? ? 1
~ 5; 12 4 4 1106247680 3 ? ? 32 ? ? 32 ? ? ? 1 1; ~ 1106247680; 21 3 0 ? 3 3 2 ? ? ? ? ? ? ? ? ?
6 2 0 ? 4 3 ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 5 ? ? ? ? ? ? ? ? ? ? ?; 4 4 0 ? 6 ? ? 0 ? ? ? ? ? ? ? ?; 76 4 0 ? 4 ? ? 3 ? ? ? ? ? ? ? ?
13 3 0 ? 10 0 7 ? ? ? ? ? ? ? ? ?; 41 3 2 ? 9 10 20 ? ? 21 ? ? ? ? ? ?; 33 3 0 ? 1 1 9 ? ? ? ? ? ? ? ? ?; 58 4 0 1 4 ? ? -4 ? ? ? ? ? ? ? 1
13 3 0 ? 10 0 7 ? ? ? ? ? ? ? ? ?; 41 3 2 ? 9 10 20 ? ? 21 ? ? ? ? ? ?; 33 3 0 ? 1 1 9 ? ? ? ? ? ? ? ? ?; 58 4 8 1 4 ? ? -4 ? 40 ? ? ? ? ? 1
~ 1; 79 4 6 33 1 ? ? 2 ? 34 ? ? ? 0 ? 1; ~ 33; 3 3 0 ? 4 0 1 ? ? ? ? ? ? ? ? ?
3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 34 1 4 4 ? ? 35 ? ? ? ? ? 1; ~ 34; 5 4 3 ? 5 ? ? 34 ? 35 ? ? ? ? ? ?
12 4 4 1075838976 3 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 3 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?
12 4 4 1110441984 3 ? ? 36 ? ? 36 ? ? ? 1 1; ~ 1110441984; 3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?; 21 3 0 ? 3 2 2 ? ? ? ? ? ? ? ? ?
73 3 0 ? 60 3 3 ? ? ? ? ? ? ? ? ?; 6 2 0 ? 5 3 ? ? ? ? ? ? ? ? ? ?; 12 4 4 1112539136 4 ? ? 38 ? ? 38 ? ? ? 1 1; ~ 1112539136
21 3 0 ? 4 2 2 ? ? ? ? ? ? ? ? ?; 64 4 3 ? 5 ? ? 39 ? 40 ? ? ? ? ? ?; 16 3 1 28 5 4 239 ? ? 29 ? ? ? ? ? 1; ~ 28
6 2 0 ? 5 3 ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 6 ? ? ? ? ? ? ? ? ? ? ?; 4 4 0 ? 7 ? ? 0 ? ? ? ? ? ? ? ?; 76 4 0 ? 5 ? ? 3 ? ? ? ? ? ? ? ?
13 3 0 ? 11 0 8 ? ? ? ? ? ? ? ? ?; 41 3 2 ? 10 11 40 ? ? 41 ? ? ? ? ? ?; 33 3 0 ? 1 1 10 ? ? ? ? ? ? ? ? ?; 58 4 0 1 5 ? ? -4 ? ? ? ? ? ? ? 1
13 3 0 ? 11 0 8 ? ? ? ? ? ? ? ? ?; 41 3 2 ? 10 11 40 ? ? 41 ? ? ? ? ? ?; 33 3 0 ? 1 1 10 ? ? ? ? ? ? ? ? ?; 58 4 8 1 5 ? ? -4 ? 40 ? ? ? ? ? 1
~ 1; 79 4 6 41 1 ? ? 2 ? 42 ? ? ? 0 ? 1; ~ 41; 3 3 0 ? 4 0 1 ? ? ? ? ? ? ? ? ?
3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?; 75 3 1 42 1 4 4 ? ? 43 ? ? ? ? ? 1; ~ 42; 5 4 3 ? 5 ? ? 42 ? 43 ? ? ? ? ? ?
12 4 4 1075838976 3 ? ? 3 ? ? 3 ? ? ? 1 1; ~ 1075838976; 21 3 0 ? 3 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?
53 2 0 0 4 0 ? ? ? ? ? ? ? ? ? 1; ~ 0; 54 4 3 ? 5 ? ? 44 ? 45 ? ? ? ? ? ?; 64 4 3 ? 6 ? ? 45 ? 11 ? ? ? ? ? ?
70 2 0 ? 0 0 ? ? ? ? ? ? ? ? ? ?; 16 3 1 43 6 5 76 ? ? 44 ? ? ? ? ? 1; ~ 43; 74 3 0 5 61 4 3 ? ? ? ? ? ? ? ? 1
~ 5; 12 4 4 1106247680 3 ? ? 32 ? ? 32 ? ? ? 1 1; ~ 1106247680; 21 3 0 ? 3 3 2 ? ? ? ? ? ? ? ? ?
6 2 0 ? 4 3 ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 5 ? ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 6 ? ? ? ? ? ? ? ? ? ? ?; 76 4 0 ? 4 ? ? 2 ? ? ? ? ? ? ? ?
41 3 2 ? 9 8 46 ? ? 47 ? ? ? ? ? ?; 33 3 0 ? 1 1 9 ? ? ? ? ? ? ? ? ?; 58 4 0 2 4 ? ? -3 ? ? ? ? ? ? ? 1; ~ 2
41 3 2 ? 9 8 46 ? ? 47 ? ? ? ? ? ?; 33 3 0 ? 1 1 9 ? ? ? ? ? ? ? ? ?; 58 4 8 2 4 ? ? -3 ? 11 ? ? ? ? ? 1; ~ 2
79 4 6 47 1 ? ? 2 ? 48 ? ? ? 0 ? 1; ~ 47; 3 3 0 ? 4 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?
75 3 1 48 1 4 4 ? ? 49 ? ? ? ? ? 1; ~ 48; 5 4 3 ? 5 ? ? 48 ? 49 ? ? ? ? ? ?; 12 4 4 1075838976 3 ? ? 3 ? ? 3 ? ? ? 1 1
~ 1075838976; 21 3 0 ? 3 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 12 4 4 1110441984 3 ? ? 36 ? ? 36 ? ? ? 1 1
~ 1110441984; 3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?; 21 3 0 ? 3 2 2 ? ? ? ? ? ? ? ? ?; 73 3 0 ? 60 3 3 ? ? ? ? ? ? ? ? ?
6 2 0 ? 5 3 ? ? ? ? ? ? ? ? ? ?; 12 4 4 1112539136 4 ? ? 38 ? ? 38 ? ? ? 1 1; ~ 1112539136; 21 3 0 ? 4 2 2 ? ? ? ? ? ? ? ? ?
64 4 3 ? 5 ? ? 49 ? 14 ? ? ? ? ? ?; 70 2 0 ? 0 0 ? ? ? ? ? ? ? ? ? ?; 16 3 1 43 5 4 76 ? ? 44 ? ? ? ? ? 1; ~ 43
6 2 0 ? 5 3 ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 6 ? ? ? ? ? ? ? ? ? ? ?; 2 1 0 ? 7 ? ? ? ? ? ? ? ? ? ? ?; 76 4 0 ? 5 ? ? 2 ? ? ? ? ? ? ? ?
41 3 2 ? 10 9 50 ? ? 51 ? ? ? ? ? ?; 33 3 0 ? 1 1 10 ? ? ? ? ? ? ? ? ?; 58 4 0 2 5 ? ? -3 ? ? ? ? ? ? ? 1; ~ 2
41 3 2 ? 10 9 50 ? ? 51 ? ? ? ? ? ?; 33 3 0 ? 1 1 10 ? ? ? ? ? ? ? ? ?; 58 4 8 2 5 ? ? -3 ? 11 ? ? ? ? ? 1; ~ 2
79 4 6 51 1 ? ? 2 ? 52 ? ? ? 0 ? 1; ~ 51; 3 3 0 ? 4 0 1 ? ? ? ? ? ? ? ? ?; 3 3 0 ? 4 1 0 ? ? ? ? ? ? ? ? ?
75 3 1 52 1 4 4 ? ? 53 ? ? ? ? ? 1; ~ 52; 5 4 3 ? 5 ? ? 52 ? 53 ? ? ? ? ? ?; 12 4 4 1075838976 3 ? ? 3 ? ? 3 ? ? ? 1 1
~ 1075838976; 21 3 0 ? 3 3 1 ? ? ? ? ? ? ? ? ?; 4 4 0 ? 1 ? ? 0 ? ? ? ? ? ? ? ?; 17 3 0 ? 4 0 0 ? ? ? ? ? ? ? ? ?
Expand Down
2 changes: 1 addition & 1 deletion tests/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ TestResult RUN_TEST(string testName, string fileName)
}
});

future_status status = testTask.wait_for(chrono::seconds(10));
future_status status = testTask.wait_for(chrono::seconds(12));

if (status == future_status::timeout)
{
Expand Down

0 comments on commit 97636a9

Please sign in to comment.