Opened 3 years ago

Last modified 8 months ago

#12953 patch feature request

Use computed gotos in the interpreter when the compiler supports it

Reported by: dobenour Owned by:
Priority: normal Milestone: 8.10.1
Component: Runtime System Version: 8.0.1
Keywords: interpreter Cc: simonmar, adamse, bgamari
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D2996
Wiki Page:

Description

We can use computed gotos to speed up the interpreter on systems that support them.

Change History (5)

comment:1 Changed 3 years ago by dobenour

Type: bugfeature request

comment:2 Changed 3 years ago by bgamari

The gcc documentation has a nice description of this feature. It seems that the only major compiler that does not support this is Visual C++.

comment:3 Changed 3 years ago by bgamari

This was discussed in #ghc and the fact that OCaml's https://github.com/ocaml/ocaml/blob/trunk/byterun/interp.c|interpreter does this came up. The implementation really doesn't seem too invasive.

comment:4 Changed 8 months ago by adamse

Cc: adamse bgamari added

I'm interested in trying to work on this one if it is still something we want. Is there anything I should think about?

comment:5 Changed 8 months ago by bgamari

Differential Rev(s): Phab:D2996
Milestone: 8.10.1
Status: newpatch

DemiMarie had a stab at this previously in Phab:D2996 but there was never a characterisation of whether the improve was worth the complexity. It would be great if you could pick it up again!

Note: See TracTickets for help on using tickets.