Skip to content

W4ME Station 1.0.3

Choose a tag to compare

@mulfyx mulfyx released this 28 Jul 23:28
· 29 commits to main since this release
Immutable release. Only release title and notes can be modified.

W4ME Station 1.0.3 is a backward-compatible interpreter performance,
correctness, and verification release for CLDC 1.1 / MIDP 2.0 phones using
Java 1.3-compatible bytecode.

Highlights

  • Keeps the universal interpreter instruction counter local on the main
    dispatch path and defers auxiliary W4IR loads until an opcode needs them.
  • Corrects rounding-sensitive f32.convert_i64_u and f64.convert_i64_u
    results for unsigned values above 2^63.
  • Makes native phoneME benchmark receipts auditable by separating timed
    execution from exact replay validation and rejecting unverified idle routes
    by default.
  • Adds the frozen W4Bench v1 suite with seven deterministic interpreter
    workloads and an independent result oracle.

Native no-JIT measurements

The same corrected route harness was used for both v1.0.2@33a6632 and the
1.0.3 interpreter. Twelve balanced fresh-VM pairs per workload on the native
i686 phoneME CLDC C interpreter measured these median headless frame-time
reductions:

Workload Frame-time reduction Pair results
Waternet 5.910% 12 / 0 / 0
Rubido 4.961% 12 / 0 / 0
Untangle 6.275% 12 / 0 / 0
Game of Life 6.418% 12 / 0 / 0
Duck Maze level 1 3.728% 12 / 0 / 0

Pair results are candidate wins / losses / ties. All 60 pairs matched exact
instruction counts, oracle checkpoints, and final framebuffer hashes.

These are interpreter-runtime measurements. They exclude MIDP presentation and
audio latency and are not physical-device FPS figures.

Verification

The host W4Bench gate dynamically reaches all 190 supported source-WebAssembly
opcodes, accepts the single expected unreachable trap, rejects internal W4IR
fusion-opcode leakage and a deliberately corrupted result, and checks exact
unsigned-i64 conversion sentinels.

W4Bench timings are diagnostic interpreter measurements. They are not
physical-device FPS figures or a substitute for paired A/B measurements on
exact cartridge routes. Physical-device compatibility and performance vary by
Java ME VM and handset.

Downloads

  • w4me-station.jar / .jad: full build with optional JSR-75 file browsing.
  • w4me-station-base.jar / .jad: base build without JSR-75 classes or file
    permission.
  • SHA256SUMS: checksums for all four install files.

W4ME Station is independent from and not endorsed by WASM-4. The application
source is MIT-licensed; bundled cartridges retain their individual licenses
and attributions. phoneME is used only as an optional local reference rig and
is not included in the downloads.