aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/stack.h
blob: b64123e80f479a6f59a6ca0bbed09aa2334144a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2011 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// For the linkers. Must match Go definitions.
// TODO(rsc): Share Go definitions with linkers directly.

enum {
#ifdef GOOS_windows
#define STACKSYSTEM (512 * sizeof(uintptr))
#endif // GOOS_windows
#ifdef GOOS_plan9
#define STACKSYSTEM	512
#endif // GOOS_plan9
#ifdef GOOS_darwin
#ifdef GOARCH_arm
#define STACKSYSTEM 1024
#endif // GOARCH_arm
#endif // GOOS_darwin

#ifndef STACKSYSTEM
#define STACKSYSTEM 0
#endif

	/*c2go
	STACKSYSTEM = 0,
	*/

	StackSystem = STACKSYSTEM,

	StackBig = 4096,
	StackGuard = 640 + StackSystem,
	StackSmall = 128,
	StackLimit = StackGuard - StackSystem - StackSmall,
};

#define StackPreempt ((uint64)-1314)
/*c2go
enum
{
	StackPreempt = 1, // TODO: Change to (uint64)-1314 in Go translation
};
*/