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

[RFC] move op_info_table out of core_ops*

7 views
Skip to first unread message

Leopold Toetsch

unread,
Sep 11, 2002, 11:44:40 AM9/11/02
to P6I
While I'm already at oplib, interpreter and predereferenced code, I've
another one:

Currently we have 3 incarnations of one core.ops:
- core_ops.c
- core_ops_cg.c
- core_ops_prederef.c

While the 1st and the the 3rd have an op_info_table (and and op lib
descriptor, core_ops_cg.c doesn't has these.

As all of these 3 files implement the same core.ops, it would be useful
to separate op_info_table into e.g. core_ops_info_table.c, providing the
table and the look-up function.

All 3 implementations above could use this info table for their
op_info_table in their op_lib descriptor (core_ops_cg.c should have an
op_lib descriptor).

This would allow building parrot with just one of this cores + one
info_table (or without an info_table at all, when no debugger/trace/JIT
is needed).

As these cores are by far the hughest parts of parrot, this would allow
to build very small parrot interpreters. For systems having dynamic
loading, there could be one standard core statically included (or none),
while the others could be loaded on demand at runtime.

Finally I have here a patch, that cuts down core_ops_prederef.c by 50%
and core_ops_prederef.o by 1/3 saving ~160 KB in the final executables.
I'll send it in separately.

A final note: when patches to this (or parts of it) will be excepted, it
will be crucial to get them in in the correct order.

leo

0 new messages