-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix TruffleRuby backend after #325 #328
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments.
MARSHAL_STACKDEPTH_DEFAULT = 2**9-2 | ||
MARSHAL_STACKDEPTH_MAX_VALUE = 2**10-2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW, these are gone; the C code accepts marshal_stack_depth
but otherwise ignores it.
@eval_thread = nil | ||
|
||
# defined in the C class | ||
init_unsafe(isolate, snapshot) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
init_unsafe no longer exists
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does, it's defined in lib/mini_racer/truffleruby.rb
.
def isolate | ||
return @isolate if @isolate != false | ||
# defined in the C class | ||
@isolate = create_isolate_value | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isolates no longer exist (or rather, are not exposed in the Ruby API)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I took a quick look but it's not so easy to remove so that could be done separately and I think best to get the CI green first (e.g. to avoid regressions).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isolates no longer exist (or rather, are not exposed in the Ruby API)
I only followed the recent changes partially, but why has the Isolates API been removed? I have never used them but they have a big section in the README (https://github.com/rubyjs/mini_racer#shared-isolates). If they are gone for good, the README needs to be cleaned up to and it's a big fat breaking change too, but not mentioned in the CHANGELOG for yesterdays 0.17.0.pre6.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
README update in #331. The changelog was Sam's work, I think?
…hared in lib/mini_racer.rb * See rubyjs#325 * I copied lib/mini_racer.rb from a268a2c (just before that PR) and removed the duplicated definitions with what's left on master in lib/mini_racer.rb. * This brings it down to `5 failures, 6 errors` vs `10 failures, 60 errors` before.
rubyjs#326)" * This reverts commit a268a2c. * Now it's defined in "shared" code like before.
* Also improve test for clarity.
* Until the desired behavior is clarified.
9e9ec35
to
ab4c4f5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm probably not the most qualified person to review but LGTM at a quick glance. Thanks for doing this, @eregon.
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
thank you so much @eregon for the push here, I know how much extra work out of nowhere there was but our upgrade of our v8 integration was critical for the long term survival of MiniRacer, so happy to bring back full support |
See #325 (comment) and after for context.
All tests pass now, so this should fix the CI.