Repository navigation
JIT: keep tslang's cache on (pre-alpha94 fixed the multi-module crash) - #35
Merged
Merged
Conversation
pre-alpha93's JIT cache crashed any run that compiled two or more modules (TypeScriptCompiler#548), so run_jit.bat passed --jit-cache=false. pre-alpha94 fixes it (TypeScriptCompiler#549), so the workaround is gone. Checked from an empty cache, two runs each: - meshlet_render, denoised_rtao, memory_management (-dx12 -test) and host_image_copy (-vk -test) pass both times; - the cached run is faster (meshlet_render 1.6 s -> 0.4 s). The README says where the cache lives and when a module is compiled again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tslang pre-alpha93's JIT cache crashed any run that compiled two or more modules (TypeScriptCompiler#548). Every example imports
core/input_pass.tsand, through it,core/donut.ts, sorun_jit.batpassed--jit-cache=false.pre-alpha94 fixes the crash (TypeScriptCompiler#549), so this removes the workaround. The README now explains where the cache lives (
__jitnext to each source, ignored by git) and when a module is compiled again: when it, a file it imports, its options or tslang change. The cache manifest rejects objects that another tslang compiled.Verification with pre-alpha94
AOT build: all
.tsobjects deleted and rebuilt: 598/598 steps, no warnings. CTest: 57/57 pass.JIT: cache on, starting from an empty cache, two runs per example. All passed both times. The second run loads from the cache:
-dx12 -test-dx12 -test-dx12 -test-vk -test-dx12🤖 Generated with Claude Code