Opened 13 years ago

Last modified 12 years ago

#45 new enhancement

Support for passing unboxed arguments to local functions

Reported by: ehuelsmann Owned by: ehuelsmann
Priority: major Milestone: unscheduled
Component: compiler Version:
Keywords: performance Cc:
Parent Tickets:

Description

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).

Change History (3)

comment:1 Changed 13 years ago 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.

comment:2 Changed 12 years ago by ehuelsmann

Keywords: performance added

comment:3 Changed 12 years ago by ehuelsmann

Milestone: unscheduled
Note: See TracTickets for help on using tickets.