Unify super and call splatting logic in interpreter and JIT. #3911

Merged
merged 1 commit into from May 26, 2016

Conversation

Projects
None yet
1 participant
@headius
Member

headius commented May 20, 2016

This improves things in a few ways:

  • JIT and interpreter are calling through most of the same APIs.
  • Fewer transient objects for calls with splats.
  • Less duplication of code.

There are other ways we could split the super dispatch paths
apart to reduce overhead and allocation. This patch puts us on
that path.

Unify super and call splatting logic in interpreter and JIT.
This improves things in a few ways:

* JIT and interpreter are calling through most of the same APIs.
* Fewer transient objects for calls with splats.
* Less duplication of code.

There are other ways we could split the super dispatch paths
apart to reduce overhead and allocation. This patch puts us on
that path.

@headius headius added jit ir labels May 20, 2016

@headius headius added this to the JRuby 9.1.3.0 milestone May 26, 2016

@headius headius merged commit 276a7d2 into jruby:master May 26, 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:zsuper_splatmap branch May 26, 2016

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