On Tue, Apr 10, 2012 at 12:00 PM, Nick Wellnhofer <[email protected]> wrote:
> The attached patch contains are a rough attempt to initialize the VTables at
> run-time.

Looks great, +1 to commit!

Miscellaneous notes:

  * cfish_bootstrap_parcel() will need a per-parcel name, I think.
  * I savored seeing those silly "class_name_def" variables disappear!
  * In VTable_bootstrap, why not just have self->name be an ordinary CharBuf
    rather than a ViewCharBuf?  OH!  HAHAHA!  Not bootstrapped yet! XD
  * Good naming convention with "CFCBindClass_to_c_data",
    "CFCBindClass_to_vtable_bootstrap" and "CFCBindClass_to_vtable_register".
  * We're going to need to rework the Valgrind suppressions once things settle
    down.

> I also tried to malloc the VTables dynamically, but this broke
> RAWPOSTING_BLANK where a VTable is used to initialize a global struct.

I've just committed a change that kills off RAWPOSTING_BLANK.

I suspect that the ZombieCharBuf EMPTY is also going to get in your way; I'll
look into deep-sixing that one later today.

There may be others; we'll just address them one-by-one until we can malloc
dynamically.

> The patch also moves the code to register the VTables from boot.c to
> parcel.c which seemed like the right place, because this initialization code
> does not depend on the host language.

+1, perfect!

Marvin Humphrey

Reply via email to