Deprecate framed invoke #4139

Merged
merged 4 commits into from Sep 6, 2016

Conversation

Projects
None yet
1 participant
@headius
Member

headius commented Sep 6, 2016

This deprecates the "invoke" forms in Helpers and RubyClass that depended on having a Ruby frame pushed to get "self" for visibility checking. Improper use of this method (in this case, frame was eliminated) caused #4134.

This PR is expected to be applied after #4138, which fixes #4134 by changing attribute assigns to use a CallSite like any other invocation.

headius added some commits Sep 6, 2016

Select call site based on receiver operand type at compile time.
This has worked for the JIT and it runs almost all the same
tests as the interpreter.

See #4134.
Deprecate frame-sensitive "invoke" methods and add "invokeFrom".
This is in response to callers not seting up frame and breaking
visibility checks in #4134. This goes along with jruby/jruby#4138.

@headius headius added this to the JRuby 9.1.5.0 milestone Sep 6, 2016

@headius

This comment has been minimized.

Show comment
Hide comment
@headius

headius Sep 6, 2016

Member

Note that only one of the commits in this PR is actually from this PR...the other three are from #4138.

Member

headius commented Sep 6, 2016

Note that only one of the commits in this PR is actually from this PR...the other three are from #4138.

@headius headius merged commit 82b771a into jruby:master Sep 6, 2016

1 of 2 checks passed

continuous-integration/appveyor/pr AppVeyor build failed
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@headius headius deleted the headius:deprecate_framed_invoke branch Sep 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment