Re: multiple values: value1 treated extra even when not in register

Sam Steingold <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <[email protected]>
> * Daniel Jour <[email protected]> [2016-05-03 10:03:03 +0200]:
>
>> it might be that the define was not removed by mistake.
>> you can try to figure it out using 'hg blame' and searching through ChangeLog.
>
> It's changeset 93dee6a014b2 from January 2008: You gave global variables (like
> the multiple value space) thread local storage, and changed:
>
>  # Synonyms:
>  #if !defined(value1_register)
> -  #ifndef MULTITHREAD
>      #define value1  mv_space[0]
> -  #else
> -    /* The first value mv_space[0] is moved to the beginning of struct
> -       clisp_thread_t: */
> -    #define value1  (current_thread()->_value1)
> -    #define VALUE1_EXTRA # and thus has to be treated extra every time...
> -  #endif
> +  #define VALUE1_EXTRA /* and thus has to be treated extra every time... */
>  #else
>
> Before that change value1 lived in a dedicated thread structure if
> multithreading was enabled (and there was no register for it). Thus it had
> to be treated extra. Now it's just part of a (thread local) global variable,
> which is addressable and thus does not need to be treated any different.
>
> Though that extra treatment does not lead to unwanted behavior, it's just doing
> more work.

Looks like an oversight then.
When Bruno made releases, he carefully benchmarked everything.
I did not, so this is how this probably slipped through.
I suggest that you make a note about this (e.g., by filing a bug or a
patch) and revisit it after you make the release.

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 16.04 (xenial) X 11.0.11803000
http://www.childpsy.net/ http://iris.org.il http://www.memritv.org
http://mideasttruth.com http://www.dhimmitude.org http://palestinefacts.org
Ph.D. stands for "Phony Doctor"  - Isaak Asimov, Ph.D.

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.