mirror of git://gcc.gnu.org/git/gcc.git
parent
50c7654b96
commit
f671b58945
|
|
@ -68,6 +68,7 @@ runtime_MHeap_Init(MHeap *h)
|
||||||
void
|
void
|
||||||
runtime_MHeap_MapSpans(MHeap *h)
|
runtime_MHeap_MapSpans(MHeap *h)
|
||||||
{
|
{
|
||||||
|
uintptr pagesize;
|
||||||
uintptr n;
|
uintptr n;
|
||||||
|
|
||||||
// Map spans array, PageSize at a time.
|
// Map spans array, PageSize at a time.
|
||||||
|
|
@ -76,6 +77,8 @@ runtime_MHeap_MapSpans(MHeap *h)
|
||||||
n -= (uintptr)h->arena_start;
|
n -= (uintptr)h->arena_start;
|
||||||
n = n / PageSize * sizeof(h->spans[0]);
|
n = n / PageSize * sizeof(h->spans[0]);
|
||||||
n = ROUND(n, PageSize);
|
n = ROUND(n, PageSize);
|
||||||
|
pagesize = getpagesize();
|
||||||
|
n = ROUND(n, pagesize);
|
||||||
if(h->spans_mapped >= n)
|
if(h->spans_mapped >= n)
|
||||||
return;
|
return;
|
||||||
runtime_SysMap((byte*)h->spans + h->spans_mapped, n - h->spans_mapped, &mstats.other_sys);
|
runtime_SysMap((byte*)h->spans + h->spans_mapped, n - h->spans_mapped, &mstats.other_sys);
|
||||||
|
|
|
||||||
|
|
@ -2098,7 +2098,7 @@ runtime_malg(int32 stacksize, byte** ret_stack, size_t* ret_stacksize)
|
||||||
__splitstack_block_signals_context(&newg->stack_context[0],
|
__splitstack_block_signals_context(&newg->stack_context[0],
|
||||||
&dont_block_signals, nil);
|
&dont_block_signals, nil);
|
||||||
#else
|
#else
|
||||||
*ret_stack = runtime_mallocgc(stacksize, FlagNoProfiling|FlagNoGC, 0, 0);
|
*ret_stack = runtime_mallocgc(stacksize, 0, FlagNoProfiling|FlagNoGC);
|
||||||
*ret_stacksize = stacksize;
|
*ret_stacksize = stacksize;
|
||||||
newg->gcinitial_sp = *ret_stack;
|
newg->gcinitial_sp = *ret_stack;
|
||||||
newg->gcstack_size = stacksize;
|
newg->gcstack_size = stacksize;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue