Opened 7 years ago

Closed 3 years ago

#266 closed defect (fixed)

Tailcall optimisation doesn't work for exported functions.

Reported by: benl Owned by:
Priority: normal Milestone: 0.5.0
Component: Core to Sea Translation Version: 0.2.1
Keywords: Cc:

Description

Using fast calls for non-exported functions enables the LLVM tailcall optimisation. We can't enable this for exported functions as well because we don't distinguish between DDC generated functions and functions from the C libraries in our import specifications. We need a proper FFI system so that we can get tailcalls for exported functions as well.

Change History (5)

comment:1 Changed 6 years ago by benl

  • Milestone changed from 0.4.0 to 0.4.1

comment:2 Changed 6 years ago by benl

  • Milestone changed from 0.4.1 to 0.4.2

comment:3 Changed 3 years ago by benl

  • Milestone changed from 0.4.2 to 0.5.0

comment:4 Changed 3 years ago by benl

Part of the GC work was to implement our own tail call optimisation. This works when the super params are all boxed objects, which is always the case at the moment.

comment:5 Changed 3 years ago by benl

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.