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