On Tue, May 12, 2015 at 4:34 AM, Nick Wellnhofer <[email protected]> wrote:
> On 10/05/2015 20:18, Marvin Humphrey wrote:
>>
>> I suggest that the proper place for the memory zeroing is inside
>> Class_Init_Obj.
>
> Things turned out a bit complicated due to the way Class_Init_Obj was called
> during bootstrapping. Have a look at the updated version of my branch:
>
>     https://github.com/nwellnhof/lucy-clownfish/commits/stack_objects_v2

Looks good to me -- +1 to merge.

For the record, I agree with your reasoning in the message on the commit
eliminating StackString:

    The only downside is that there will be an invalid free instead of an
    exception if someone tries to decref a stack String. But decref is
    inherently dangerous. With heap-allocated objects, an unmatched decref
    also results in a use-after-free which can't be guarded against.

Marvin Humphrey

Reply via email to