> On Wed, Aug 11, 2010 at 5:29 PM, Alexander Gavrilov > <[email protected]>wrote: > > > Hi, I've finally got around to this, and after some investigation > > implemented it using the static constant facility in cmpwt.lsp > > instead: > > There are two problems with the static constant facility. > > 1) Not all compilers allow initialization of global constants in a > complicated way. MSVC chokes on many of the expressions we produce for lisp > constants.
Which expressions exactly are they? Maybe they can be fixed to be more compatible, or something? > 2) Static constants are not allocated in the heap. That is a huge problem I > did not realize until recently, because if a constant in a loaded file is > still referenced _after_ the binary file is garbage collected and unloaded, > then we have a problem. I am looking for a solution, but currently it seems > disabling static constants is the only possibility. If the values are immediately unboxed anyway (as should be the case with SSE packs), that would never be the problem. Again, maybe it is possible to dynamically restrict this feature to cases where the boxed form is not actually used? Static constants produce the fastest possible access code, so I was actually considering implementing something like them for SSE before I found that it was already done. I wonder if it also might make sense to produce a style warning when the compiler has to box SSE values. After all, it eats away all performance gains, and really shouldn't happen at all outside REPL & interpreted code. Alexander ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Ecls-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ecls-list
