summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-26[prism] handle locals consistentlyKevin Newton
2023-10-26Integrate new prism multi target namesKevin Newton
2023-10-26[ruby/prism] Rename to lefts/rightsKevin Newton
https://github.com/ruby/prism/commit/e6deed05a5
2023-10-26[ruby/prism] Remove RequiredDestructuredParameterNode in favor of ↵Kevin Newton
MultiTargetNode https://github.com/ruby/prism/commit/6d1858192e
2023-10-26[ruby/prism] Ensure no extra multi-target nodes are created for splatsKevin Newton
https://github.com/ruby/prism/commit/e60240d54b
2023-10-26[ruby/prism] Ensure no extra multi-target nodes are createdKevin Newton
https://github.com/ruby/prism/commit/ec31fd827f
2023-10-26[ruby/prism] Split up multi target/write targetsKevin Newton
https://github.com/ruby/prism/commit/dda7a0da52
2023-10-26[ruby/prism] Add KeywordSplat flag to ArgumentsNodeJemma Issroff
Method calls with keyword splat args compile differently than without since they merge the keyword arg hash with the keyword splat hash. We know this information at parse time, so can set a flag which the compiler can use. https://github.com/ruby/prism/commit/e5f8a9a3cd
2023-10-26[PRISM] Implement regex encoding flagseileencodes
Added the correct encoding to the allocated regex. This required making a new method to set the encoding and pass that to `rb_enc_reg_new` instead of `rb_reg_new`. The former `rb_reg_new` would set the encoding to ASCII8BIT regardless of encoding flag.
2023-10-26[PRISM] Change --dump keyword to prism_parsetreeJemma Issroff
2023-10-26add more shapes testslukeg
2023-10-26[PRISM] Cleanup macro usage for common ADD_INSNJemma Issroff
2023-10-26teach prism define to compile basic typesHParker
2023-10-26[PRISM] Implement compilation for ConstantPathAndWriteNodeJemma Issroff
2023-10-26[PRISM] Implement compilation for ConstantPathOrWriteNodeJemma Issroff
2023-10-26[PRISM] Implemented ConstantPathOperatorWriteNodeJemma Issroff
2023-10-26[ruby/prism] Split Prism::Loader#load_node in one lambda per node typeBenoit Daloze
* Otherwise load_node is too big to compile and is forced to run in interpreter: https://github.com/oracle/truffleruby/issues/3293#issuecomment-1759730996 * For the benchmark at https://github.com/oracle/truffleruby/issues/3293#issuecomment-1759790280 TruffleRuby Native 23.1.0: Before: 10.574041 After: 5.592436 JRuby 9.4.3.0: Before: 7.037780 After: 3.995317 JRuby 9.4.3.0 -Xcompile.invokedynamic=true: Before: 7.047832 After: 2.269294 https://github.com/ruby/prism/commit/a592ec346a
2023-10-26[ruby/prism] Expose options on match last line nodesKevin Newton
https://github.com/ruby/prism/commit/0284b38861
2023-10-26Remove JavaScript templatesKevin Newton
2023-10-26[ruby/prism] Compile with WASIKevin Newton
https://github.com/ruby/prism/commit/73c44b0b9c
2023-10-26[PRISM] Implement compilation for CaseNodeJemma Issroff
2023-10-26[PRISM] Rename new tests to use `assert_prism_eval`Jemma Issroff
2023-10-26[PRISM] Refactor tests to deconflict with existing testsJemma Issroff
2023-10-26[PRISM] Implement CallOperatorWriteNodeJemma Issroff
2023-10-26[PRISM] Implement compilation for CallOrWriteNodeJemma Issroff
2023-10-26[PRISM] Extract helper to use for CallOrWriteNodeJemma Issroff
2023-10-26[PRISM] Implemented compilation for CallAndWriteNodeJemma Issroff
2023-10-26Windows: Prefer USERPROFILE over HOMEPATHLars Kanis
Enable the test commented out in ruby/ruby@d0f5dc9eac78ecade459. Extracted from GH-7033, that is for initialization at start up time and this test is unrelated to it.
2023-10-26[ruby/zlib] Check for z_size_t along with {crc,adler}32_z inKJ Tsanaktsidis
extconf.rb (https://github.com/ruby/zlib/pull/69) The android NDK (android-ndk-r21e) does not have crc32_z, adler32_z, nor z_size_t in its zlib.h header file. However, it _does_ have the crc32_z and adler32_z symbols in the libz.a static library! mkmf performs two tests for have_func: * It sees if a program that includes the header and takes the address of the symbol can compile * It sees if a program that defines the symbol as `extern void sym_name()` and calls it can be linked If either test works, it considers the function present. The android-ndk-r21e is passing the second test but not the first for crc32_z/adler32_z. So, we define HAVE_ZLIB_SIZE_T_FUNCS, but then can't actually compile the extension (since the prototypes aren't in the header file). We can keep this working how it was working before by _also_ checking for `have_type("z_size_t", "zlib.h")`. The have_type check _only_ looks in the header file for the type; if a program including the header file and using the type can't compile, the type is considered absent regardless of what might be in libz.a. https://github.com/ruby/zlib/commit/3b9fe962d8
2023-10-26Prevent a warning: assigned but unused variable - zYusuke Endoh
2023-10-26Revert "[ruby/prism] Use `cargo fmt`"Hiroshi SHIBATA
This reverts commit 4259d5b5aefd58d0bf86ad20122beee53533ff59. This commits is wrong result of sync_default_gems.rb
2023-10-26[Feature #19362] [DOC] Add to NEWS.mdNobuyoshi Nakada
2023-10-26[Feature #19362] Call `#initialize_dup` hook at `Proc#dup`Nobuyoshi Nakada
2023-10-26Lrama v0.5.8yui-knk
2023-10-26[Bug #19973] Warn duplicated keyword arguments after keyword splatNobuyoshi Nakada
2023-10-26Fix test failure with __runner_options__ renamingHiroshi SHIBATA
2023-10-26tool test/unit/testcase: rename vars @passed, @@currentlukeg
to @__passed__, @@__current__. @passed is redefined in a few test suites, and this could lead to bugs. Also rename @options (Runner#options) to @__runner_options__, which is only used in make test-tool anyway.
2023-10-26[wasm] Check exts build working on ciYuta Saito
This is a preparation for enabling spec test
2023-10-25Bump ruby/setup-ruby from 1.157.0 to 1.158.0dependabot[bot]
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.157.0 to 1.158.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/a05e47355e80e57b9a67566a813648fa67d92011...cd48c8e22733480b66887b42bfeb6c0b88ea1a56) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26[ruby/zlib] Fix misdetection of {crc32,alder32}_z in cloudflare zlib forkKJ Tsanaktsidis
We use the Cloudflare fork of zlib (https://github.com/cloudflare/zlib), which we find gives improved performance on AWS Graviton ARM instances. That fork does not define crc32_z and alder32_z functions. Until two days ago, Ruby's zlib gem worked fine, because cloudflare zlib _also_ did not define z_size_t, which meant Ruby did not try and use these functions. Since https://github.com/cloudflare/zlib/commit/a3ba99596d6271224d39ef9d6853511f51821e05 however, cloudflare zlib _does_ define z_size_t (but NOT crc32_z or alder32_z). The zlib gem would try and use these nonexistant functions and not compile. This patch fixes it by actually specifically detecting the functions that the gem wants to call, rather than just the presence of the z_size_t type. https://github.com/ruby/zlib/commit/c96e8b9a57
2023-10-26Make beginless Range#size return nil if it ends with non-numericfn ⌃ ⌥
2023-10-26[ruby/prism] Use `cargo fmt`Ian Ker-Seymer
https://github.com/ruby/prism/commit/5969b827ae
2023-10-26add #to_str to URI::GenericMichael Chui
2023-10-25[PRISM] ScopeNode doesn't need void * anymoreJemma Issroff
2023-10-25[PRISM] Move scope_node itself to CRuby, create prism_compile.hJemma Issroff
2023-10-25[PRISM] Move pm_scope_node_init to prism_compile.cJemma Issroff
pm_scope_node_init is only used for CRuby, so should not live in the ruby/prism repo. We will merge the changes here first so they're not breaking, and will then remove from ruby/prism
2023-10-25[PRISM] Add PM_POP macro, cleanup missing macro usageJemma Issroff
2023-10-25Fix few test_prism_eval that snuck inHParker
2023-10-25[rubygems/rubygems] Raise exception on unexpected EOF in marshalSamuel Giddins
Instead of NoMethodError being raised by accidentally trying to use nil https://github.com/rubygems/rubygems/commit/ac8f812bbf
2023-10-25[rubygems/rubygems] Avoid regexp match on every call to `Gem::Platform.local`Samuel Giddins
The result of `arch` would be ignored if `@local` is set, so wrap all the logic in `@local ||=` to short-circuit everything https://github.com/rubygems/rubygems/commit/b67d39f3e0