Skip to content

Releases: sisshiki1969/monoruby

Nightly build (latest master)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Jul 13:53
80c5b3d

Rolling nightly build of master, replaced on every push. Currently 80c5b3d. Consumed by the setup-monoruby action (see action.yml) for @master / @latest refs.

v3.0.1

Choose a tag to compare

@sisshiki1969 sisshiki1969 released this 19 May 06:49
3e38289

What's Changed

  • JIT: pin in-flight xmm operands to prevent alloc_xmm aliasing by @khasinski in #358
  • JIT: load recv before allocating dst in integer_tof (fixes NaN on aliased slot) by @khasinski in #359
  • JIT: inline Fiddle.___read / Fiddle.___write for known type codes by @sisshiki1969 in #360
  • ruby/spec: hash compliance pass + Symbol/Class follow-ups by @sisshiki1969 in #361
  • ci: stop spec-core dying on categories with zero summary lines by @sisshiki1969 in #363
  • parser: trailing comma in block params injects auto-splat post arg by @sisshiki1969 in #362
  • spec-pages: relocate dashboard to /spec/ subpath and polish mobile/colors by @sisshiki1969 in #364
  • portal: landing page at gh-pages root linking to /spec/ dashboard by @sisshiki1969 in #365
  • ruby/spec: Struct iteration accessors + Method/UnboundMethod basics by @sisshiki1969 in #366
  • Struct: migrate members from ivar-backed to per-instance slot vector by @sisshiki1969 in #367
  • Struct: JIT-inline member readers/writers as direct slot loads by @sisshiki1969 in #368
  • Struct: inline member storage via SmallVec for 1-mov accessor JIT by @sisshiki1969 in #369
  • Struct: clear ruby/spec core/struct (recursion, kwargs, namespace, methods()) by @sisshiki1969 in #371
  • ruby/spec: expand IO/File/Dir surface area by @sisshiki1969 in #370
  • jit: virtual BOOL_CLASS for inline-cache stability on bool flips by @sisshiki1969 in #373
  • Module: targeted fixes for ruby/spec core/module (~80 tests) by @sisshiki1969 in #372
  • eval through builtin frames + Module#const_source_location rework by @sisshiki1969 in #374
  • Module: 5 small clusters (cmp, cvar metaclass, visibility, method_added, const warn) by @sisshiki1969 in #375
  • autoload: state machine + non-triggering defined? / const_defined? + source location by @sisshiki1969 in #376
  • String: case-mapping options (:ascii, :turkic, :lithuanian, :fold) + capitalize multi-char fix by @sisshiki1969 in #377
  • String: implement #byterindex + sharper TypeError for #byteindex by @sisshiki1969 in #378
  • Regexp: ==/eql?/hash + union/new/compile improvements + inspect fixes by @sisshiki1969 in #379
  • String: gsub/sub backrefs, Hash#default, block to_s, empty matches by @sisshiki1969 in #380
  • String: []= for String/Regexp index + gsub Enumerator + sub ArgumentError by @sisshiki1969 in #381
  • String: Phase 1 encoding-aware data model (CodeRange + extended Encoding) by @sisshiki1969 in #382
  • String: Phase 2 — Encoding::CompatibilityError from + / << / gsub / sub / []= by @sisshiki1969 in #383
  • String: Phase 3 — encoding-aware char iteration (length / chars / each_char / slice) by @sisshiki1969 in #384
  • Encoding: misc CRuby-alignment fixes by @sisshiki1969 in #385
  • Regexp/MatchData: tier-1 and tier-2 spec coverage by @sisshiki1969 in #386
  • JIT: VirtFPReg + spill-to-stack for floating-point registers by @sisshiki1969 in #387
  • Add Japanese internal technical documentation for monoruby internals by @sisshiki1969 in #388
  • main / Binding: spec coverage for core/main by @sisshiki1969 in #389
  • Add GC marking for Values in errors and executor state by @sisshiki1969 in #391
  • spec-pages: clamp per-category pass rate at 0 in time-series chart by @sisshiki1969 in #390
  • builtin_constants: complete RUBY_* set + Ruby module + freeze strings by @sisshiki1969 in #392
  • core/string: cover 158 more ruby/spec examples by @sisshiki1969 in #393
  • core/string: add String#split tests for block + limit edge cases by @sisshiki1969 in #395
  • core/module: define_method arity, undefined_instance_methods, set_temporary_name validation by @sisshiki1969 in #397
  • core/string: cover 354 more ruby/spec examples by @sisshiki1969 in #396
  • core/module: deprecate_constant + ruby2_keywords/define_method/attr fixes by @sisshiki1969 in #398
  • core/string: tier 1+2 spec coverage (Integer/Float, encoding, %, scrub) by @sisshiki1969 in #399
  • Array: root accumulators on temp_stack instead of disabling GC by @sisshiki1969 in #400
  • Array: root accumulators on temp_stack instead of disabling GC by @sisshiki1969 in #401
  • Rename executor/coerce.rs to executor/format.rs by @sisshiki1969 in #402
  • Consolidate Value::coerce_* methods into value/coerce.rs by @sisshiki1969 in #403
  • core/systemexit, core/signal: spec coverage + Symbol-friendly Process.kill by @sisshiki1969 in #404
  • Invoke const_missing on failed constant lookup by @sisshiki1969 in #406
  • JIT: don't const-fold yield return when block has rescue/ensure by @sisshiki1969 in #407
  • doc: add C extension support design notes by @sisshiki1969 in #408
  • Bundle non-parser improvements from prism branch by @sisshiki1969 in #410
  • portal/ci: bench monoruby vs YJIT on master push, plot on portal by @sisshiki1969 in #411
  • Switch parser to Prism by @sisshiki1969 in #412
  • prism: depend on sisshiki1969/prism fork instead of vendored copy by @sisshiki1969 in #413
  • prism: switch to one-shot Options::scopes API by @sisshiki1969 in #414
  • bench: move chart to /bench/ subpage and fix empty-results parsing by @sisshiki1969 in #415
  • bench: switch to yjit-bench (full suite, failures included) by @sisshiki1969 in #416
  • fix: drop MatchData inner on GC sweep to prevent memory leak by @sisshiki1969 in #418
  • bench: per-benchmark timeout + surface crash / timeout cause on the chart by @sisshiki1969 in #417
  • bench: stop the patch step from interpolating #{output_path} too early by @sisshiki1969 in #420
  • perf: propagate SevenBit code range across String#byteslice by @sisshiki1969 in #419
  • bench-pages: render failure reason inside the chart, not as a stub bar by @sisshiki1969 in #423
  • perf: speed up Kernel#respond_to? + restore trivial-method ConstReturn fold by @sisshiki1969 in #424
  • core/module: class_eval arity msg, method_defined? on Module, redef warning qualified name, ruby2_keywords skip warnings by @sisshiki1969 in #426
  • core/string: low-cost spec wins (sprintf, to_f, dump/inspect, ...) by @sisshiki1969 in #425
  • core/module: dynamic name resolution — promote non-permanent names on constant rebind by @sisshiki1969 in #427
  • core/module: distinguish lexical-scope cref from runtime-only definee push (~22 spec failures) by @sisshiki1969 in #430
  • core/string: preserve invalid UTF-8 bytes through interpolation by @sisshiki1969 in #428
  • core/string: implement unpack '^' / 'r' / 'R' directives (Ruby 4.1+) by @sisshiki1969 in #429
  • String: implement Mock-friendly coercion in %, <=>, and == by @sisshiki1969 in #431
  • String: route mutation methods through cr-aware RStringInner API by @sisshiki1969 in #432
  • Use from_encoding_scanned for eager code-range classification by @sisshiki1969 in #433
  • bench: x-axis ticks + legend at top, bump both timeouts to 400s by @sisshiki1969 in https://github.com/sissh...
Read more