added STIX_EPFULL
fixed a bug in starting an initial process started writing an integer-to-string conversion function
This commit is contained in:
@ -217,7 +217,6 @@ stix_oop_t stix_instantiate (stix_t* stix, stix_oop_t _class, const void* vptr,
|
||||
}
|
||||
|
||||
stix_pushtmp (stix, &_class); tmp_count++;
|
||||
/*TODO: protected vptr if it's not STIX_NULL and the variability(indexed_type) is OOP. the current impl is buggy */
|
||||
|
||||
switch (indexed_type)
|
||||
{
|
||||
@ -229,13 +228,18 @@ stix_oop_t stix_instantiate (stix_t* stix, stix_oop_t _class, const void* vptr,
|
||||
STIX_ASSERT (vptr == STIX_NULL);
|
||||
/*
|
||||
This function is not GC-safe. so i don't want to initialize
|
||||
propagate the payload of a pointer object. The caller can
|
||||
call this function and initialize payloads then.
|
||||
the payload of a pointer object. The caller can call this
|
||||
function and initialize payloads then.
|
||||
if (oop && vptr && vlen > 0)
|
||||
{
|
||||
stix_oop_oop_t hdr = (stix_oop_oop_t)oop;
|
||||
STIX_MEMCPY (&hdr->slot[named_instvar], vptr, vlen * STIX_SIZEOF(stix_oop_t));
|
||||
}
|
||||
|
||||
For the above code to work, it should protect the elements of
|
||||
the vptr array with stix_pushtmp(). So it might be better
|
||||
to disallow a non-NULL vptr when indexed_type is OOP. See
|
||||
the assertion above this comment block.
|
||||
*/
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user