Thanks for the enlightening insights into some detail
of the workings of JE internal address management.
Much appreciated.

Am 05.04.22 um 04:29 schrieb Henry Rich:
I should have said 'the J symbol AREA is a contiguous array...'  The symbol tables are separate structures (closed-address hashtables whose chains are symbols from the J symbol area).

I do allocate symbols for the known named variables when an explicit definition is first scanned.  But:

* names can be synthetic, so there's no way to guarantee that symbols are available * when a definition is recursive, it needs to get a new set of symbols for each level

So: yes, creating any symbol, local or global, may relocate all symbols everywhere.  Should I have said DEPRECATED!!!?

'Managing' the risk that another thread will delete your symbol is possible only if you can control everything that is executing. Otherwise you're whistling past the graveyard when you use a pointer to a block that may have been relocated.

Henry Rich

--
----------------------
mail written using NEO
neo-layout.org
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to