1 // Copyright 2013 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
12 void ctor(void) __attribute__((constructor));
13 static void* thread(void*);
18 // occupy memory where Go runtime would normally map heap
19 mmap((void*)0x00c000000000, 64<<10, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0);
21 // allocate 4K every 10us
23 pthread_create(&t, 0, thread, 0);
31 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
43 // ensure that we can function normally
45 for i
:= 0; i
< 1000; i
++ {
46 time
.Sleep(10 * time
.Microsecond
)
47 v
= append(v
, make([]byte, 64<<10))