Commit c6805cb
committed
Phase 122 (continued): Optimize VM auxiliary files with auto
Extend local variable optimization to VM arithmetic, comparison,
loops, table, and string operation files:
lvm_arithmetic.cpp (2 optimizations):
- luaV_idiv: auto q (division result)
- luaV_mod: auto r (modulus result)
lvm_comparison.cpp (5 optimizations):
- l_strcmp: auto for temp, zl1, zl2, s1, s2
- luaV_equalobj: auto tag (TM result)
lvm_loops.cpp (8 optimizations):
- forPrep: auto for pinit, plimit, pstep, init, step
- forPrep: declare init/limit/step in float branch together
- floatForLoop: auto for step, limit, idx
lvm_table.cpp (2 optimizations):
- luaV_finishget: declare loop in for-init
- luaV_finishset: declare loop in for-init, auto *h
lvm_string.cpp (5 optimizations):
- copy2buff: auto tl, st, s
- luaV_concat: auto top, n, tl, l
Total: 22 optimizations across 5 VM files
Benefits:
- Consistent with lvm.cpp optimizations (Phase 122)
- Improved code clarity and maintainability
- Type-safe variable declarations
Performance: 4.31s avg (5 runs)
- Run 1: 4.13s
- Run 2: 4.25s
- Run 3: 4.69s
- Run 4: 4.22s
- Run 5: 4.28s
Target: ≤4.33s ✓ (2.6% above baseline)
Tests: All pass ✓
Files modified:
- src/vm/lvm_arithmetic.cpp
- src/vm/lvm_comparison.cpp
- src/vm/lvm_loops.cpp
- src/vm/lvm_table.cpp
- src/vm/lvm_string.cpp1 parent 98eafa5 commit c6805cb
File tree
5 files changed
+27
-29
lines changed- src/vm
5 files changed
+27
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
| 44 | + | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
257 | | - | |
| 257 | + | |
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
72 | | - | |
73 | | - | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
74 | 74 | | |
75 | | - | |
76 | | - | |
| 75 | + | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
138 | | - | |
139 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
59 | | - | |
| 58 | + | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | 51 | | |
53 | | - | |
| 52 | + | |
54 | 53 | | |
55 | 54 | | |
56 | 55 | | |
| |||
103 | 102 | | |
104 | 103 | | |
105 | 104 | | |
106 | | - | |
107 | | - | |
| 105 | + | |
108 | 106 | | |
109 | 107 | | |
110 | | - | |
| 108 | + | |
111 | 109 | | |
112 | 110 | | |
113 | 111 | | |
| |||
0 commit comments