[M3commit] [modula3/cm3] 48584a: Document a peculiarity in CM3 IR that reflects cal...

GitHub noreply at github.com
Sun Nov 5 02:46:32 CET 2017


  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: 48584a745d69d37f43b1ee4b8b5fab47682f7d50
      https://github.com/modula3/cm3/commit/48584a745d69d37f43b1ee4b8b5fab47682f7d50
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2017-11-04 (Sat, 04 Nov 2017)

  Changed paths:
    M m3-sys/m3middle/src/M3CG_Ops.i3

  Log Message:
  -----------
  Document a peculiarity in CM3 IR that reflects call-site copy.

For parameters of struct types, (which could be any static sized
in-memory aggregate, but used only for records and arrays), only the
call site has IR operators that indicate that a copy should be made,
thus effectively passing by value.  There is no IR indication of
by-value passing at procedure entry, making it easy for a back end to
do call site copy and, at best, subtle to do it at procedure entry.

Document this is M3CG_Ops.i3.




More information about the M3commit mailing list