Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also orlearn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also.Learn more about diff comparisons here.
base repository:mruby/mruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base:master@{1day}
Choose a base ref
Loading
...
head repository:mruby/mruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare:master
Choose a head ref
Loading
  • 17commits
  • 19files changed
  • 3contributors

Commits on Jul 11, 2025

  1. mruby-compiler: rename NODE_BEGIN to NODE_STMTS for clarity

    Rename NODE_BEGIN to NODE_STMTS to better reflect its purpose as acontainer for statement sequences, not specifically begin-end blocks.This prepares for adding a dedicated node type for explicit begin-endconstructs.- Rename NODE_BEGIN enum to NODE_STMTS in node.h- Update all references in parse.y and codegen.c- Rename new_begin function to new_stmtsCo-Authored-By: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    f6c166cView commit details
    Browse the repository at this point in the history
  2. mruby-compiler: optimize NODE_STMTS nesting to reduce AST depth

    Modify new_stmts to flatten unnecessary nesting by returning existingNODE_STMTS directly instead of wrapping them. This reduces memory usageand AST complexity when multiple parentheses levels are used.Before: (((expr1; expr2))) creates nested NODE_STMTSAfter: (((expr1; expr2))) creates single NODE_STMTS with statementsCo-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    dc0a5f4View commit details
    Browse the repository at this point in the history
  3. Add NODE_BEGIN for explicit begin...end blocks

    This commit introduces NODE_BEGIN as a distinct AST node type forexplicit begin...end blocks, separate from NODE_STMTS which representsgeneral statement sequences. This distinction will be essential forimplementing CRuby-compatible begin...end while/until constructs.Key changes:- Added NODE_BEGIN enum in node.h- Added new_begin() function in parse.y using optimized cons() structure- Modified begin...end grammar rule to generate NODE_BEGIN nodes- Added NODE_BEGIN codegen support in codegen.c- Added NODE_BEGIN to parser dump functionalityNODE_BEGIN uses a simpler cons() structure instead of list2() forbetter memory efficiency, as it only contains a single body node.Co-Authored-By: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    ebc10f3View commit details
    Browse the repository at this point in the history
  4. mruby-compiler: allow at-least-once loop behavior for mruby

    mruby does not provide `begin ... end while cond` that behave at-least-onceloop, like CRuby does. It remains in TODO.md for long time. But finally we haveimplemented the behavior.
    @matz
    matz committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    ee30d1dView commit details
    Browse the repository at this point in the history
  5. test/syntax.rb: add at-least-once loop tests

    Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    451f67eView commit details
    Browse the repository at this point in the history
  6. mruby-compiler: simplify the code for NODE_WHILE_MOD & NODE_UNTIL_MOD

    Instead of having dedicated code, we now share the fundamental part withnormal NODE_WHILE and NODE_UNTIL.
    @matz
    matz committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    e6071d5View commit details
    Browse the repository at this point in the history
  7. variable.h: add prefetch to bsearch_idx

    This commit introduces memory prefetching to the `bsearch_idx` functionsin `src/class.c` and `src/variable.c` to improve performance.A new macro `MRB_MEM_PREFETCH` is defined in `include/mruby/variable.h`which uses `__builtin_prefetch` if available.Co-authored-by: Gemini <gemini@google.com>
    @matz
    matz andGemini committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    670b54fView commit details
    Browse the repository at this point in the history
  8. hash.c: implement Hash#== in C for better performance

    Move Hash#== implementation from Ruby to C to improve performanceand consistency with other core methods. The C implementationprovides the same functionality while being more efficient.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    633317aView commit details
    Browse the repository at this point in the history
  9. hash.c: implement Hash#eql? in C for better performance

    Move Hash#eql? implementation from Ruby to C to improve performance andconsistency with other core methods. The C implementation uses mrb_eqlfor value comparison, providing proper eql? semantics.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    96355f3View commit details
    Browse the repository at this point in the history
  10. hash.c: add recursion detection to prevent SystemStackError;fix#5531

    Add generalized recursion detection system and integrate it into Hash#==and Hash#eql? to prevent infinite recursion with mutually recursive hashstructures. Uses call stack inspection for minimal memory overhead.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    419c8ebView commit details
    Browse the repository at this point in the history
  11. kernel.c: simplify mrb_inspect_recursive_p using new recursion detection

    Replace custom inspect_recursive_p implementation with the newgeneralized mrb_recursive_method_p for better code reuse andconsistency.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    b64fc03View commit details
    Browse the repository at this point in the history
  12. kernel.c: replace __inspect_recursive? with __method_recursive?

    Add more general __method_recursive?(method_name[, arg]) method that cancheck recursion for any method, not just inspect. This provides a moreuseful API for Ruby code while cleaning up the implementation.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    5a85350View commit details
    Browse the repository at this point in the history
  13. array.c: add recursion detection to Array#== and Array#eql?

    Prevent SystemStackError when comparing arrays with circular references.Uses the same recursion detection mechanism as Hash equality methods.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    38882aeView commit details
    Browse the repository at this point in the history
  14. mruby-struct: add recursion detection to Struct#== and Struct#eql?

    Prevent SystemStackError when comparing structs with circularreferences.  Uses the same recursion detection mechanism as Hash andArray equality methods.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    5ca2d44View commit details
    Browse the repository at this point in the history
  15. kernel.c: remove mrb_inspect_recursive_p();#5531

    And use mrb_recursive_method_p() and its helper methods.Co-authored-by: Claude <noreply@anthropic.com>
    @matz@claude
    matz andclaude committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    2735340View commit details
    Browse the repository at this point in the history
  16. state.c: optimize mrb_state initialization by deferring method cache …

    …clearDuring mrb_state initialization, especially when defining core classes and methods,the method cache is repeatedly cleared. This causes significant overhead inscenarios like mrbtest where mrb_state is initialized multiple times.This commit introduces a `bootstrapping` flag in `struct mrb_state`.When this flag is TRUE (during mrb_open_core), method cache clearstriggered by `mrb_define_method_raw` and `include_module_at` are suppressed.The cache is cleared only once at the very end of `mrb_open_core` afterall core methods are defined, and the flag is then set to FALSE.This optimization significantly reduces the number of method cache clearsduring initialization, improving performance for repeated mrb_state creations.Co-authored-by: Gemini <gemini@google.com>
    @matz
    matz andGemini committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    95656c4View commit details
    Browse the repository at this point in the history
  17. mruby-array-ext: add comprehensive documentation for values_at and in…

    …ternal helpers- Add complete call-seq documentation for Array#values_at method- Add helpful comments for internal helper functions:  * ary_ref: helper function for values_at  * rev: helper function to reverse array elements in-place  * flatten_internal: iterative stack-based flatten implementation  * Updated comments for fill, uniq, normalize_index, and fetch helpers- Improves code maintainability and follows mruby documentation standards- Achieves 100% public API documentation coverageCo-authored-by: Atlassian Rovo Dev
    @matz
    matz committedJul 11, 2025
    Configuration menu
    Copy the full SHA
    cf9596dView commit details
    Browse the repository at this point in the history
Loading

[8]ページ先頭

©2009-2025 Movatter.jp