You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the alloca instruction always allocates in the generic address space (0).
This proposal is to extend the semantics of alloca instruction to allow allocation in any specified address space.
Managed language clients typically use address space 1 to represent GC-pointers. Some managed clients (CLR, in particular) allow construction of GC pointers to stack locations. For example, MSIL instruction ldloca (ECMA 335, p 370) creates a GC pointer to a stack local.
Creating an addrespace(1)* pointer to a stack location currently involves two steps: the alloca, and an addrespacecast. Managed code transformations (ex: RewriteStatepointsForGC) do not handle arbitrary address space casting. So, it is desirable to obtain the addrespace(1)* pointer by construction.
Thanks,
Swaroop.
The text was updated successfully, but these errors were encountered:
Currently the
alloca
instruction always allocates in the generic address space (0).This proposal is to extend the semantics of
alloca
instruction to allow allocation in any specified address space.Proposed Syntax
Motivation
Managed language clients typically use address space 1 to represent GC-pointers. Some managed clients (CLR, in particular) allow construction of GC pointers to stack locations. For example, MSIL instruction ldloca (ECMA 335, p 370) creates a GC pointer to a stack local.
Creating an
addrespace(1)*
pointer to a stack location currently involves two steps: thealloca
, and anaddrespacecast
. Managed code transformations (ex:RewriteStatepointsForGC
) do not handle arbitrary address space casting. So, it is desirable to obtain theaddrespace(1)*
pointer by construction.Thanks,
Swaroop.
The text was updated successfully, but these errors were encountered: