Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- JIT M3: cache one idle native entry handle per runtime with epoch-based
invalidation (ABI minor 20), remove native-return queue allocation, and reuse
CALL feedback storage. Reuse validated bytecode boundaries during helper PC
checks. Add acquisition metrics, lifecycle regressions, and
checks, and reuse one native execution timing stack across functions.
Add acquisition metrics, lifecycle regressions, and
paired generic-call diagnostics. See `docs/M3.md`.

### Deprecated
Expand All @@ -31,6 +32,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Benchmark forced Tier 2 direct calls only after the required caller/callee
publications settle; reject compilation during the timed batch and refresh
stale local workload checksums.

### Security

## [0.12.2] - 2026-07-27
Expand Down
10 changes: 10 additions & 0 deletions benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,16 @@ The default policy is five warmups, 30 fresh-process latency samples, and ten
one-second throughput windows per workload and mode. The JSON records those
actual values. Do not use reduced runs for performance claims.


Forced Tier 2 probes can declare `globalThis.tier2ReadyInstalls` to require a
known publication count before timing. The direct-call probe requires four:
two baseline and two optimizing artifacts. An unrelated blacklisted function
cannot bypass that requirement. Both optimized modes execute quiet warmup
iterations while draining compilation; an explicit forced-Tier2 requirement
also rejects unsettled startup or new compilation during the timed batch.
Unsupported probes without the declaration retain bounded interpreter/Tier 1
fallback. Use the same harness revision for both sides of a runtime comparison.

For a fast functional smoke run of the focused scalar-loop, call-heavy, and
property-heavy cases:

Expand Down
Loading
Loading