On Mon, 18 Apr 2011 09:34:07 -0400, Kagamin <s...@here.lot> wrote:
Steven Schveighoffer Wrote:
Full escape analysis requires a non-stanard object format and a
non-standard linker. Simply because, escape analysis must be a
compiler-added attribute, and the linker has to understand that. We can
get away with certain things reusing the C linker by doing things like
name mangling, but escape analysis must add far more annotations
(essentially tell how parameters and return values are linked).
Why support from linker? Even .net uses plain old COFF, it just stores
metadata in a separate section. Escape analysis is a compile-time job
for the compiler, so this metadata can be simply ignored and discarded
by the linker. For the same reason, this metadata can be stored in any
place, even in a separate file.
Wouldn't the linker have to verify that the escapes are valid when linking
objects together? I admit I don't know much about the object format and
linking process, but I assumed that the linker had to be involved in
enforcement of escape analysis.
Does the .NET linker ignore the metadata?
-Steve