Really? I thought I remembered seeing J calls being implemented as C calls?
Thanks, -- Raul On Tue, May 14, 2019 at 1:42 PM Henry Rich <[email protected]> wrote: > > The J stack is separate from the C stack, and always has been. > > The trouble comes from the fact that the code is old and has been > rewritten lots. Debug sits off to the side and had pointers into the > blocks used by normal verb execution. This made it hard for the > optimizer, and also for the programmer who looks at 'i' and wonders what > it really means. So in this release I structured the interaction > between debug and normal execution. As for getting it right... I guess > that's what beta releases are for. Thanks to you guys who find the bugs. > > Henry Rich > > On 5/14/2019 1:36 PM, Raul Miller wrote: > > Nice. > > > > Since the current J implementation uses the C stack to implement the J > > stack, cutting back requires one of two things: > > > > (1) Every C function which can take significant time to execute or > > which can be live during an exception needs to implement "bail out > > early" checks, or > > > > (2) setjump/longjump (which sometimes gets into hardware and operating > > system specific issues, and also has implications for memory > > management because of how references can get ignored -- that said, for > > example, gdb uses a linked list that emulates the stack for memory > > management purposes with "primitives" to add a frame, remove a frame > > or cut back to the current frame -- I don't know what the performance > > implications of that would be like, here). > > > > So... yes... I imagine it's more than a little intricate. > > > > So... thanks! > > > > > --- > This email has been checked for viruses by AVG. > https://www.avg.com > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
