mirror of git://gcc.gnu.org/git/gcc.git
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. From-SVN: r200181 |
||
|---|---|---|
| .. | ||
| all_test.go | ||
| deepequal.go | ||
| example_test.go | ||
| export_test.go | ||
| makefunc.go | ||
| set_test.go | ||
| tostring_test.go | ||
| type.go | ||
| value.go | ||