LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2013 The Go Authors. All rights reserved. | 1 // Copyright 2013 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 // This file defines the IDs for PCDATA and FUNCDATA instructions | 5 // This file defines the IDs for PCDATA and FUNCDATA instructions |
6 // in Go binaries. It is included by both C and assembly, so it must | 6 // in Go binaries. It is included by both C and assembly, so it must |
7 // be written using #defines. It is included by the runtime package | 7 // be written using #defines. It is included by the runtime package |
8 // as well as the compilers. | 8 // as well as the compilers. |
9 | 9 |
10 #define PCDATA_ArgSize 0 /* argument size at CALL instruction */ | 10 #define PCDATA_ArgSize 0 /* argument size at CALL instruction */ |
11 | 11 |
12 #define FUNCDATA_GC 0 /* garbage collector block */ | 12 #define FUNCDATA_GCArgs 0 /* garbage collector blocks */ |
| 13 #define FUNCDATA_GCLocals 1 |
13 | 14 |
14 // To be used in assembly. | 15 // To be used in assembly. |
15 #define ARGSIZE(n) PCDATA $PCDATA_ArgSize, $n | 16 #define ARGSIZE(n) PCDATA $PCDATA_ArgSize, $n |
16 | 17 |
17 // ArgsSizeUnknown is set in Func.argsize to mark all functions | 18 // ArgsSizeUnknown is set in Func.argsize to mark all functions |
18 // whose argument size is unknown (C vararg functions, and | 19 // whose argument size is unknown (C vararg functions, and |
19 // assembly code without an explicit specification). | 20 // assembly code without an explicit specification). |
20 // This value is generated by the compiler, assembler, or linker. | 21 // This value is generated by the compiler, assembler, or linker. |
21 #define ArgsSizeUnknown 0x80000000 | 22 #define ArgsSizeUnknown 0x80000000 |
LEFT | RIGHT |