LEFT | RIGHT |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 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 /* | 5 /* |
6 * basic types | 6 * basic types |
7 */ | 7 */ |
8 typedef signed char int8; | 8 typedef signed char int8; |
9 typedef unsigned char uint8; | 9 typedef unsigned char uint8; |
10 typedef signed short int16; | 10 typedef signed short int16; |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 struct M | 227 struct M |
228 { | 228 { |
229 // The offsets of these fields are known to (hard-coded in) libmach. | 229 // The offsets of these fields are known to (hard-coded in) libmach. |
230 G* g0; // goroutine with scheduling stack | 230 G* g0; // goroutine with scheduling stack |
231 void (*morepc)(void); | 231 void (*morepc)(void); |
232 void* moreargp; // argument pointer for more stack | 232 void* moreargp; // argument pointer for more stack |
233 Gobuf morebuf; // gobuf arg to morestack | 233 Gobuf morebuf; // gobuf arg to morestack |
234 | 234 |
235 // Fields not known to debuggers. | 235 // Fields not known to debuggers. |
236 uint32 moreframesize; // size arguments to morestack | 236 uint32 moreframesize; // size arguments to morestack |
237 uint32 moreframesize_minalloc; | |
238 uint32 moreargsize; | 237 uint32 moreargsize; |
239 uintptr cret; // return value from C | 238 uintptr cret; // return value from C |
240 uint64 procid; // for debuggers, but offset not hard-coded | 239 uint64 procid; // for debuggers, but offset not hard-coded |
241 G* gsignal; // signal-handling G | 240 G* gsignal; // signal-handling G |
242 uint32 tls[8]; // thread-local storage (for 386 extern register
) | 241 uint32 tls[8]; // thread-local storage (for 386 extern register
) |
243 G* curg; // current running goroutine | 242 G* curg; // current running goroutine |
244 int32 id; | 243 int32 id; |
245 int32 mallocing; | 244 int32 mallocing; |
246 int32 gcing; | 245 int32 gcing; |
247 int32 locks; | 246 int32 locks; |
(...skipping 19 matching lines...) Expand all Loading... |
267 uint32 freglo[16]; // D[i] lsb and F[i] | 266 uint32 freglo[16]; // D[i] lsb and F[i] |
268 uint32 freghi[16]; // D[i] msb and F[i+16] | 267 uint32 freghi[16]; // D[i] msb and F[i+16] |
269 uint32 fflag; // floating point compare flags | 268 uint32 fflag; // floating point compare flags |
270 M* nextwaitm; // next M waiting for lock | 269 M* nextwaitm; // next M waiting for lock |
271 uintptr waitsema; // semaphore for parking on locks | 270 uintptr waitsema; // semaphore for parking on locks |
272 uint32 waitsemacount; | 271 uint32 waitsemacount; |
273 uint32 waitsemalock; | 272 uint32 waitsemalock; |
274 GCStats gcstats; | 273 GCStats gcstats; |
275 bool racecall; | 274 bool racecall; |
276 void* racepc; | 275 void* racepc; |
| 276 uint32 moreframesize_minalloc; |
277 | 277 |
278 uintptr settype_buf[1024]; | 278 uintptr settype_buf[1024]; |
279 uintptr settype_bufsize; | 279 uintptr settype_bufsize; |
280 | 280 |
281 #ifdef GOOS_windows | 281 #ifdef GOOS_windows |
282 void* thread; // thread handle | 282 void* thread; // thread handle |
283 #endif | 283 #endif |
284 SEH* seh; | 284 SEH* seh; |
285 uintptr end[]; | 285 uintptr end[]; |
286 }; | 286 }; |
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
867 extern float64 runtime·neginf; | 867 extern float64 runtime·neginf; |
868 extern uint64 ·nan; | 868 extern uint64 ·nan; |
869 extern uint64 ·posinf; | 869 extern uint64 ·posinf; |
870 extern uint64 ·neginf; | 870 extern uint64 ·neginf; |
871 #define ISNAN(f) ((f) != (f)) | 871 #define ISNAN(f) ((f) != (f)) |
872 | 872 |
873 enum | 873 enum |
874 { | 874 { |
875 UseSpanType = 1, | 875 UseSpanType = 1, |
876 }; | 876 }; |
LEFT | RIGHT |