-85a9c6992d9660e36972c279a5252fd9591bb765
+8da2129a005cc1f44d4d993b0b7312b64c0d68a4
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
if (this->calls_defer_retaddr_)
is_inlinable = false;
+ // Check the //go:noinline compiler directive.
+ if ((this->pragmas_ & GOPRAGMA_NOINLINE) != 0)
+ is_inlinable = false;
+
// If this is a thunk created to call a function which calls
// the predeclared recover function, we need to disable
// stack splitting for the thunk.
bool disable_split_stack = this->is_recover_thunk_;
+ // Check the //go:nosplit compiler directive.
+ if ((this->pragmas_ & GOPRAGMA_NOSPLIT) != 0)
+ disable_split_stack = true;
+
// This should go into a unique section if that has been
// requested elsewhere, or if this is a nointerface function.
// We want to put a nointerface function into a unique section
{
// Applies to the next function. Do not split the stack when
// entering the function.
- // FIXME: Not implemented.
this->pragmas_ |= GOPRAGMA_NOSPLIT;
}
else if (verb == "go:noinline")
{
// Applies to the next function. Do not inline the function.
- // FIXME: Not implemented.
this->pragmas_ |= GOPRAGMA_NOINLINE;
}
else if (verb == "go:systemstack")