#45: Support for passing unboxed arguments to local functions -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Keywords: | -------------------------+-------------------------------------------------- It would save a great deal of boxing/unboxing, if local functions and self-calling recursive functions could pass and return unboxed values.
Although passing unboxed values from the outside world is generally considered 'dependency on implementation details', recursive calls and calls to local functions should be able to depend on this: they get recompiled upon function redefinition anyway.
One of the reasons for this ticket: with the improved type-derivations in Jan/Feb 2009, the cl-bench TAK test deteriorated: more boxing was performed. With this change, the (un)boxing can be eliminated, except for the first call (from the outside world).
#45: Support for passing unboxed arguments to local functions --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
One way to have recursive self-calls be unboxed is to have 2 java functions: 1 to call from the outside world, the other for the function to call itself with unboxed arguments.
#45: Support for passing unboxed arguments to local functions --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann):
* keywords: => performance
#45: Support for passing unboxed arguments to local functions --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: unscheduled Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann):
* milestone: => unscheduled
armedbear-ticket@common-lisp.net