Ticket #50 (new enhancement)

Opened 3 years ago

Investigate the (too ?) widespread use of the in-use bit set/clear code

Reported by: debrouxl Owned by:
Priority: major Milestone: Version 1.00
Component: project Version: 0.96
Keywords: Cc:

Description

More than 500 ROM_CALLs are supposed to reference the event loop (Out_EV_eventLoop=1 in .hsf files), and thus be able to trigger an infrequent AMS bug that can crash the calculator. For each of these ROM_CALLs, the headers reference a definition that yields the inclusion of a ~130-byte startup code.

Among these ROM_CALLs are kbhit and ngetchx, SymAdd? and SymDel?, and most functions from estack.h, basfunc.h and basop.h, whose connection to the event loop is not part of the main path (at best, it's the error path throwing errors).

I guess the investigation should start by getting a reproducable testcase for the event loop bug that is worked around by setting the in-use bit (and/or pinpointing the culprit in AMS).

Too bad that both the patch to the binutils (objdump & BFD) that Sebastian created and used to generate the callgraph, and the list of human post-editions to fix wrinkles, seem to have been lost...
The only post-edition I know of, fixed after the fact a limitation of the tool wrt. A-Lines, which led to the incorrect production of "Out=" references for OSVRegisterTimer and OSVFreeTimer.

Note: See TracTickets for help on using tickets.