help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Some fixes/improvements to libgst


From: Lee Duhem
Subject: Re: [Help-smalltalk] Some fixes/improvements to libgst
Date: Sat, 14 Jan 2017 19:27:38 +0800

On Sat, Jan 14, 2017 at 3:32 AM, Holger Freyther <address@hidden> wrote:
>
>> On 30 Dec 2016, at 07:44, Lee Duhem <address@hidden> wrote:
>>
>>
>
> Hi!
>
> sorry for the delay.
>
>
>> * byte.c (_gst_compile_bytecodes): Remove unnecessary copy.
>
> diff --git a/libgst/byte.c b/libgst/byte.c
> index 50ff07c..a90a139 100644
> --- a/libgst/byte.c
> +++ b/libgst/byte.c
> @@ -450,9 +450,6 @@ _gst_compile_bytecodes (gst_uchar * from,
>
>    if (free < (to - from))
>      {
> -      memcpy (_gst_cur_bytecodes->ptr, from, free);
> -      _gst_cur_bytecodes->ptr += free;
> -      from += free;
>        realloc_bytecodes (_gst_cur_bytecodes,
>                          BYTECODE_CHUNK_SIZE + (to - from));
>      }
>
> I think the delta is bigger than necessary? If you remove the
> advancing of from, then it should be applied to the delta too?
> What do you think?

The original logic is that if available space in _gst_cur_bytecodes is
less than (to - from),
it will copy part of contents from `from' to _gst_cur_bytecodes, then
allocate more space
through realloc_bytecodes(), and copy the rest from `from'.  However,
the reallocation of
 _gst_cur_bytecodes may need to copy the content of it to the new location.

And the new code will resize the capacity of _gst_cur_bytecodes first,
then copy all the contents
from `from' to it.  In this case, we may save one memcpy call, and
some extra copying in
realloc_bytecodes().

>
>
>
>> * comp.c (_gst_compile_method): Protect new created `selector' from GC
>> properly.
>
> yes! makes sense
>
>> * gst-parse.c (expected): Call va_end.
>
> yes! at least according to the OSX manpage.
>
>
> will apply these two hunks

Thank you.

Regards,
lee



reply via email to

[Prev in Thread] Current Thread [Next in Thread]