Is load_bytecode supposed to provide "do" semantics (reload the packfile
every time the op is executed) or "require" semantics (load the packfile
only if it hasn't been loaded already)?  I think the only distinction
at the moment would be whether the extra time of rereading the file is
performed.  Might there be an "init" function of some sort called at
load time, or is that better left to the high-level language?

Load_bytecode "foo.pbc" seems solid now.  Load_bytecode "foo.imc" is
still giving me a few problems.
1) Two instances of C<load_bytecode "stream.imc"> in the same file
   causes segmentation fault when returning from the second call into
   stream.imc.
2) C<$P0 = global "_sub_in_the_current_file"> works when running PBC.
   When doing a compile&run from PIR, it seg faults.
Should I write tests for these two cases?

What is the plan for extracting linking information from packfiles?
For the moment, I'm defining a sub "__du" (description unit) that
provides the CLU-specific information my compiler needs.
My understanding is that the information necessary for PCC calls
(subroutine type, proto/unproto, register types of params and returns
for proto) will be in the packfile within a few versions.  What about
other information the higher-level language wants to store (a list of
exceptions thrown, type information beyond register type, typedefs,
constants, etc.)?  I'm picturing something like CORBA's IDL, only
hopefully not as ugly.

--kag

Reply via email to