[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Stack-allocated objects again (+benchmark)
From: |
Dmitry Antipov |
Subject: |
Re: Stack-allocated objects again (+benchmark) |
Date: |
Tue, 30 Sep 2014 12:25:48 +0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 |
On 09/30/2014 06:43 AM, Paul Eggert wrote:
Thanks for doing that, and for the benchmark. I found a couple of problems with
< the patch, and thought of some ways to simplify it further and make it more
portable
and a bit faster in many cases, and installed that as trunk bzr 117978.
Please have
a look when you have the time.
1) Thanks, I like an idea with SCOPED_STRING without an extra allocation and
memcpy.
2) This snippet from lisp.h:
4597 /* USE_STACK_LISP_OBJECTS requires GC_MARK_STACK ==
GC_MAKE_GCPROS_NOOPS. */
4598
4599 #if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS
4600 # undef USE_STACK_LISP_OBJECTS
4601 # define USE_STACK_LISP_OBJECTS false
4602 #endif
conflicts with alloc.c:
72 #if USE_STACK_LISP_OBJECTS
73 # if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS
74 # error "Stack-allocated Lisp objects are not compatible with GCPROs"
75 # endif
76 #endif
If you prefer 1st (I'm OK with that), 2nd one should be removed.
Dmitry