Regards
base_vtable ... name, type, ...
var_vtable ... get_integer, set_integer, ...
val_vtable ... add, sub, ...
prop_vtable ... property functions (set/getprop are different, depending
on the existence of the property hash)
I think this might rephrase as
object contains:
- object core
- properties
- customizations of object
- customizations of value
Currently,
object contains:
- single vtable
Ok, it sounds like the motivation for separating out "properties" was
an implementation concern "(set/getprop are different, depending on
the existence of the property hash)". So "properties" is basically
just "object core (part 2)". Yes?
What is the distinction between "object core" (name, type, ...) and
"customizations of object" (get_integer, set_integer, ...) ?
Given some function foo, what is a rule/guideline which might tell
which table to put it in?
Which brings us to var vs val, which I'm afraid I'm still not clear on.
Could someone do a one paragraph description?
(If it is simply a performance hack, what cases are being optimized?
What cases not? What is the before and after flow? What are some
examples of use?)
Leo - could you repost tt.c, perhaps leaving it inline, rather than
using an attachment, to be sure the list archives catch it? Thanks.
Mitchell