You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add -g to the production build example, correct test fixture paths to modules/tests/sources/... and modules/tests/sources/*, and remove an outdated bullet about parallel codegen (-use-threads). These changes fix documentation inconsistencies and clarify the current build/test layout and performance notes.
Copy file name to clipboardExpand all lines: AGENTS.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,7 +104,7 @@ The compiler processes files through these stages in order:
104
104
v -o "bin\papyrus.exe" compiler.v
105
105
106
106
# Production build (optimized, no GC)
107
-
v -o "bin\papyrus.exe" -prod -gc none compiler.v
107
+
v -o "bin\papyrus.exe" -prod -g -gc none compiler.v
108
108
109
109
# Debug with symbols
110
110
v -g -gc none -o "bin\papyrus.exe" compiler.v
@@ -149,8 +149,8 @@ All test files define `const prefs` with `no_cache: true, output_mode: .silent`
149
149
150
150
### Test Fixtures
151
151
-`modules/tests/psc/` — Small custom `.psc` files for specific tests
152
-
-`modules/tests/psc_deps/` — Skyrim base script headers (dependencies for all tests)
153
-
-`modules/tests/*Sources/` — Real Skyrim mod source trees for integration tests
152
+
-`modules/tests/sources/psc_deps/` — Skyrim base script headers (dependencies for all tests)
153
+
-`modules/tests/sources/*` — Real Skyrim mod source trees for integration tests
154
154
155
155
---
156
156
@@ -249,7 +249,6 @@ pref → papyrus.errors
249
249
250
250
-**Selective header loading**: Only headers referenced by `table.deps` stack are parsed — not the entire Skyrim script library. This is a key performance optimization.
251
251
-**Caching**: File modification times are cached in `.papyrus/*.obj` files. Use `-nocache` to bypass.
252
-
-**Parallel codegen**: Enabled with `-use-threads`, divides work across up to 8 OS threads. Parse and check remain sequential.
253
252
-**String interning**: PEX uses a shared string table. All strings are interned via `gen_string_ref()` during code generation.
254
253
-**Temp variables**: Code generator manages a pool of `::temp0`, `::temp1`, etc. with free/reuse tracking.
255
254
-**Built-in methods**: `GetState`, `GotoState`, `onBeginState`, `onEndState` are auto-added to every object. Arrays have `Find`, `RFind`, `Length`.
0 commit comments