Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(16)

Delta Between Two Patch Sets: src/pkg/runtime/runtime.h

Issue 100870044: code review 100870044: runtime: make continuation pc available to stack walk (Closed)
Left Patch Set: diff -r 46d573d68ee6 https://code.google.com/p/go/ Created 10 years, 9 months ago
Right Patch Set: diff -r 95cc2b2ebec5 https://code.google.com/p/go/ Created 10 years, 9 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/runtime/proc.c ('k') | src/pkg/runtime/stack.c » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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 685 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 { 696 {
697 int32 siz; 697 int32 siz;
698 bool special; // not part of defer frame 698 bool special; // not part of defer frame
699 byte* argp; // where args were copied from 699 byte* argp; // where args were copied from
700 byte* pc; 700 byte* pc;
701 FuncVal* fn; 701 FuncVal* fn;
702 Defer* link; 702 Defer* link;
703 void* args[1]; // padded to actual size 703 void* args[1]; // padded to actual size
704 }; 704 };
705 705
706 // argp used in Defer structs when there is no argp.
707 // TODO(rsc): Maybe we could use nil instead, but we've always used -1
708 // and I don't want to change this days before the Go 1.3 release.
709 #define NoArgs ((byte*)-1)
710
706 /* 711 /*
707 * panics 712 * panics
708 */ 713 */
709 struct Panic 714 struct Panic
710 { 715 {
711 Eface arg; // argument to panic 716 Eface arg; // argument to panic
712 uintptr stackbase; // g->stackbase in panic 717 uintptr stackbase; // g->stackbase in panic
713 Panic* link; // link to earlier panic 718 Panic* link; // link to earlier panic
714 Defer* defer; // current executing defer 719 Defer* defer; // current executing defer
715 bool recovered; // whether this panic is over 720 bool recovered; // whether this panic is over
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 Slice runtime·gobytes(byte*, intgo); 837 Slice runtime·gobytes(byte*, intgo);
833 String runtime·gostringnocopy(byte*); 838 String runtime·gostringnocopy(byte*);
834 String runtime·gostringw(uint16*); 839 String runtime·gostringw(uint16*);
835 void runtime·initsig(void); 840 void runtime·initsig(void);
836 void runtime·sigenable(uint32 sig); 841 void runtime·sigenable(uint32 sig);
837 void runtime·sigdisable(uint32 sig); 842 void runtime·sigdisable(uint32 sig);
838 int32 runtime·gotraceback(bool *crash); 843 int32 runtime·gotraceback(bool *crash);
839 void runtime·goroutineheader(G*); 844 void runtime·goroutineheader(G*);
840 int32 runtime·open(int8*, int32, int32); 845 int32 runtime·open(int8*, int32, int32);
841 int32 runtime·read(int32, void*, int32); 846 int32 runtime·read(int32, void*, int32);
842 int32» runtime·write(int32, void*, int32); 847 int32» runtime·write(uintptr, void*, int32); // use uintptr to accommodate wind ows.
843 int32 runtime·close(int32); 848 int32 runtime·close(int32);
844 int32 runtime·mincore(void*, uintptr, byte*); 849 int32 runtime·mincore(void*, uintptr, byte*);
845 void runtime·jmpdefer(FuncVal*, void*); 850 void runtime·jmpdefer(FuncVal*, void*);
846 void runtime·exit1(int32); 851 void runtime·exit1(int32);
847 void runtime·ready(G*); 852 void runtime·ready(G*);
848 byte* runtime·getenv(int8*); 853 byte* runtime·getenv(int8*);
849 int32 runtime·atoi(byte*); 854 int32 runtime·atoi(byte*);
850 void runtime·newosproc(M *mp, void *stk); 855 void runtime·newosproc(M *mp, void *stk);
851 void runtime·mstart(void); 856 void runtime·mstart(void);
852 G* runtime·malg(int32); 857 G* runtime·malg(int32);
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
1136 extern float64 runtime·neginf; 1141 extern float64 runtime·neginf;
1137 extern uint64 ·nan; 1142 extern uint64 ·nan;
1138 extern uint64 ·posinf; 1143 extern uint64 ·posinf;
1139 extern uint64 ·neginf; 1144 extern uint64 ·neginf;
1140 #define ISNAN(f) ((f) != (f)) 1145 #define ISNAN(f) ((f) != (f))
1141 1146
1142 enum 1147 enum
1143 { 1148 {
1144 UseSpanType = 1, 1149 UseSpanType = 1,
1145 }; 1150 };
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b