Expect a performance hit if you modify instructions. I like to use LOCTR to keep data physically remote but visually near the instructions that use them.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Gary Weinhold <[email protected]> Sent: Monday, April 15, 2024 2:06 PM To: [email protected] Subject: Re: Complex immediate fields From a performance and sometimes readability point of view, having constants (whether instructions or operands), close in memory to the instructions using them is desirable. As Gil mentions, macroes are likely to do it. There ia a data cache and an intruction cache, but there is nothing inherent to prevent a program from modifying the instruction stream or the instruction stream from branching into an area of the program that's in the data cache. (There may be key exceptions that create errors). But any modification to the instruction cache requires the instruction cache line to be moved to the data cache, and any attempt to execute instructions in the data cache requires the cache line to be moved to the instruction cache. I don't think this affects page fault handling. Whether instructions are refreshable depends on external factors, including binder options and characteristics of the load library. I don't know about USS. Gary Weinhold Senior Application Architect DATAKINETICS | Data Performance & Optimization Phone:+1.613.523.5500 x216 Email: [email protected] Visit us online at http://www.dkl.com/ E-mail Notification: The information contained in this email and any attachments is confidential and may be subject to copyright or other intellectual property protection. If you are not the intended recipient, you are not authorized to use or disclose this information, and we request that you notify us by reply mail or telephone and delete the original message from your mail system. ________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Paul Gilmartin <[email protected]> Sent: April 15, 2024 13:37 To: [email protected] <[email protected]> Subject: Re: Complex immediate fields On 4/15/24 10:09:06, Charles Mills wrote: > ... > And I would never, ever embed data in the instruction stream. > . I.e. no parameters following the CALL-type instruction? Don't some library macros (still) do this, bypassing with a relative (ugh!) branch instruction? Are instruction pages distinguished from data pages nowadays? Do page faults behave differently between the two? Are instruction pages REFReshable? -- gil
