| Age | Commit message (Collapse) | Author |
|
`Kernel#require` converts feature name objects that have the `to_path`
method such as `Pathname`, but had used the original object on error
and had resulted in an unexpected `TypeError`.
|
|
first_column and last_column return byte positions, but existing implementations
did not consider multibyte.
|
|
It's crashing inside the bug reporter after a crash, so not sure why
it's crashing. It's not really useful for maintaining RJIT to flag this
test failure, so let's just ignore it until we figure out why it fails.
https://github.com/ruby/ruby/actions/runs/6752729246/job/18358439166
|
|
When a begin node is popped it only needs to putnil if that nil is going
to be the return value, otherwise it can successfully be optimised out.
|
|
We were previously holding a type field on Comment to tell what
kind of comment it was. Instead, let's just use actual classes for
this.
https://github.com/ruby/prism/commit/e76830ca6e
|
|
https://github.com/ruby/prism/commit/33cc75a4b7
|
|
https://github.com/ruby/prism/commit/f0aa8ad93b
|
|
https://github.com/ruby/prism/commit/8582d372a3
|
|
It was assuming only objects can be complex.
|
|
test_generate in ppc64le.
We observed that this test randomly fails in the ruby/ruby Travis ppc64le case.
This commit is to pend the test_generate if the assertion for the generated
file's modified time fails in a ppc64le environment.
Note that I didn't use the word "Travis CI" or Travis CI specific environment variables
such as `TRAVIS` and `TRAVIS_CPU_ARCH`[1] in the code. Because I wanted to prioritize the
rdoc's independence from the ruby/ruby.
[1] https://docs.travis-ci.com/user/environment-variables/#default-environment-variables
https://github.com/ruby/rdoc/commit/42cdad1cf2
|
|
Previously emitting a call node with an argument followed by another
node would cause the argument to be mistakenly omitted from the argument
list causing a stack underflow.
```
PRISM: **************************************************
-- raw disasm--------
0000 putself ( 0)
0001 send <calldata:puts, 1>, nil ( 0)
* 0004 pop ( 0)
0005 putobject 1 ( 0)
0007 leave ( 0)
---------------------
```
|
|
Wait for the worker thread to finish.
|
|
If the required capacity would fit in an embded string,
returns one.
This can reduce malloc churn for code that use string buffers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unfortunately, 84dfa0fa5e451adb87beaf497165cb5a1bc93770 introduced
a bug where we were no longer testing the "popped" case because the
"; 1" meant to be appended to the source was no longer functioning
as intended.
This commit re-introduces the popped case, and comments out all
now failing tests.
|
|
|
|
This commit makes every initial size pool shape a root shape and assigns
it a capacity of 0.
|
|
|
|
|
|
|
|
Generic names like Node and NodeList should be namespaced properly.
|
|
|
|
https://github.com/ruby/prism/commit/ec419422f8
|
|
|
|
https://github.com/ruby/prism/commit/2a11bfee76
|
|
RequiredKeywordParameterNode
https://github.com/ruby/prism/commit/c31f61e898
|
|
Prior to this commit, KeywordParameterNode included both optional
and required keywords. With this commit, it is split in two, with
`OptionalKeywordParameterNode`s no longer having a value field.
https://github.com/ruby/prism/commit/89084d9af4
|
|
`remove_shape_recursive` wasn't considering that if we run out of
shapes, it might have to transition to SHAPE_TOO_COMPLEX.
When this happens, we now return with an error and the caller
initiates the evacuation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We weren't taking in to account that objects with generic IV tables
could go "too complex" in the IV set code. This commit takes that in to
account and also ensures FL_EXIVAR is set when a geniv object
transitions to "too complex"
Co-Authored-By: Jean Boussier <byroot@ruby-lang.org>
|
|
|
|
There is a handful of call sites where we may transition to
OBJ_TOO_COMPLEX_SHAPE if we just ran out of shapes, but that
weren't handling it properly.
|
|
This commit implements compilation for the PostExeuctionNode by
using the ScopeNode to create child iseqs where appropriate.
|
|
|
|
|