• ian's avatar
    compiler, runtime: Use function descriptors. · 8381eda7
    ian authored
    This changes the representation of a Go value of function type
    from being a pointer to function code (like a C function
    pointer) to being a pointer to a struct.  The first field of
    the struct points to the function code.  The remaining fields,
    if any, are the addresses of variables referenced in enclosing
    functions.  For each call to a function, the address of the
    function descriptor is passed as the last argument.
    
    This lets us avoid generating trampolines, and removes the use
    of writable/executable sections of the heap.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200181 138bc75d-0d04-0410-961f-82ee72b054a4
    8381eda7
ChangeLog 19.1 KB