Opened 7 years ago

Last modified 18 months ago

#177 new defect

absa_al macro generates inefficient code.

Reported by: canthony Owned by: Eric Swenson
Priority: minor Milestone:
Component: Hardcore Version:
Keywords: Cc:

Description

The absa_al macro does a run-time check of system type (ADP/L68); this check should be done at assembly time.

Change History (2)

comment:1 by Eric Swenson, 4 years ago

Summary: absa_al macro generates ineffiecent code.absa_al macro generates inefficient code.

comment:2 by Eric Swenson, 18 months ago

This macro is implemented here:

ldd>include>bootload_cpu_macros.incl.alm

While PL/1 has a means of having compile-time macros (pl1_macro), ALM doesn't have this same functionality. If this were PL/1 code, one could simply preprocess the .pmac source to generate CPU-dependent code in an output PL/1 segment. No such facility exists for ALM.

While ALM does allow parameters to be passed in, and those parameters to be used in assembly-time conditionalization of code, this would require changes in the way code that uses the macro (bootload_tape_label.alm) is assembled. The standard "alm bootload_tape_label" command would no longer be appropriate.

Still, it is possible to update the code for the macro to check for alm command arguments and conditionalize the code based on this. So we could fix this issue.

Note: See TracTickets for help on using tickets.