Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #38841] [TODO] Split exec run core into two distinct run cores

4 views
Skip to first unread message

Bernhard Schmalhofer

unread,
Apr 3, 2006, 3:04:50 PM4/3/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Bernhard Schmalhofer
# Please include the string: [perl #38841]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38841 >


The exec runcore is about saving compiled JIT code in an object file and
generating an executable.
The generated executable can then be executed without having to do JIT
compilation again.
Compilation and execution are two very distinct phases, still they are
refered to as exec core, as
indicated by the enum PARROT_EXEC_CORE in interpreter.h.

I propose to replace the enum value PARROT_EXEC_CORE with the two new
values : PARROT_EXEC_COMPILE_CORE and PARROT_EXEC_RUN_CORE.
This should make the code more clear and might limit the use of the
shared variable 'Parrot_exec_run'.

The problem that core is dumped, whenever the compiled JIT is executed,
would of course not be
solved by that.

Any comments?

CU, Bernhard


Leopold Toetsch

unread,
Apr 3, 2006, 4:04:28 PM4/3/06
to perl6-i...@perl.org, bugs-bi...@netlabs.develooper.com

On Apr 3, 2006, at 21:04, Bernhard Schmalhofer (via RT) wrote:

> I propose to replace the enum value PARROT_EXEC_CORE with the two new
> values : PARROT_EXEC_COMPILE_CORE and PARROT_EXEC_RUN_CORE.
> This should make the code more clear and might limit the use of the
> shared variable 'Parrot_exec_run'.

Very much appreciated. As already noted in that include file, runcore
feature bits should be arranged, so that individual parts of a run
core can be tested too. E.g. exec := jit_bit | exec_bit. And while
there, e.g. runcore should have an associated name for better error
reporting in e.g. src/interpreter.c:308

internal_exception(1, "Couldn't find init_func for core
%d", which);

Thanks,
leo

0 new messages