compiler: add the //go:noinline pragma

This is directly useful to avoid some unsafety around runtime.alloc and
should be useful in general.

This pragma has the same form as in the main Go compiler:
https://github.com/golang/go/issues/12312
This commit is contained in:
Ayke van Laethem
2019-07-07 15:51:52 +02:00
committed by Ron Evans
parent c66d979ba3
commit 7ed6b45149
3 changed files with 11 additions and 0 deletions
+1
View File
@@ -203,6 +203,7 @@ func init() {
// alloc tries to find some free space on the heap, possibly doing a garbage
// collection cycle if needed. If no space is free, it panics.
//go:noinline
func alloc(size uintptr) unsafe.Pointer {
if size == 0 {
return unsafe.Pointer(&zeroSizedAlloc)