if(!n->left->addable) {
agen(n->left, &nodr);
gmove(&nodr, &nodo);
+ dump("xxx", n->left);
fatal("agen_inter i2s");
} else {
cgen(n->left, &nodo);
Bterm(bout);
}
+Bputdot(Biobuf *b)
+{
+ // put out middle dot ·
+ Bputc(b, 0xc2);
+ Bputc(b, 0xb7);
+}
+
void
zname(Biobuf *b, Sym *s, int t)
{
for(n=s->opackage; *n; n++)
Bputc(b, *n);
- Bputc(b, '_');
+ Bputdot(b);
for(n=s->name; *n; n++)
Bputc(b, *n);
Bputc(b, 0);
return s;
}
+int
+ISALPHA(int c)
+{
+ if(isalpha(c))
+ return 1;
+ if(c >= Runeself)
+ return 1;
+ return 0;
+}
+
long
yylex(void)
{
}
goto l0;
}
- if(isalpha(c))
+ if(ISALPHA(c))
goto talph;
if(isdigit(c))
goto tnum;
case '.':
c = GETC();
- if(isalpha(c)) {
+ if(ISALPHA(c)) {
cp = symb;
*cp++ = '.';
goto aloop;
aloop:
*cp++ = c;
c = GETC();
- if(isalpha(c) || isdigit(c) || c == '_' || c == '$')
+ if(ISALPHA(c) || isdigit(c) || c == '_' || c == '$')
goto aloop;
*cp = 0;
peekc = c;
return nl;
}
+/*
+ * from ascompat[te]
+ * evaluating actual function arguments.
+ * f(a,b)
+ * if there is exactly one function expr,
+ * then it is done first. otherwise must
+ * make temp variables
+ */
Node*
reorder1(Node *n)
{
Node *l, *r, *f, *a, *g;
int c, t;
- /*
- * from ascompat[te]
- * evaluating actual function arguments.
- * f(a,b)
- * if there is exactly one function expr,
- * then it is done first. otherwise must
- * make temp variables
- */
-
l = listfirst(&save, &n);
c = 0; // function calls
t = 0; // total parameters
goto loop2;
}
+/*
+ * from ascompat[et]
+ * a,b = f()
+ * return of a multi.
+ * there can be no function calls at all,
+ * or they will over-write the return values.
+ */
Node*
reorder2(Node *n)
{
Node *l;
int c;
- /*
- * from ascompat[et]
- * a,b = f()
- * return of a multi.
- * there can be no function calls at all,
- * or they will over-write the return values.
- */
-
l = listfirst(&save, &n);
c = 0;
goto loop1;
}
+/*
+ * from ascompat[ee]
+ * a,b = c,d
+ * simultaneous assignment. there can be
+ * later use of an earlier lvalue.
+ */
+int
+vmatch(Node *l, Node *r)
+{
+ dump("l", l);
+ dump("r", r);
+ return 0;
+}
+
Node*
reorder3(Node *n)
{
- /*
- * from ascompat[ee]
- * a,b = c,d
- * simultaneous assignment. there can be
- * later use of an earlier lvalue.
- */
+ Iter save1, save2;
+ Node *l1, *l2;
+ int c1, c2;
+
+ l1 = listfirst(&save1, &n);
+ c1 = 0;
+
+ while(l1 != N) {
+ l2 = listfirst(&save1, &n);
+ c2 = 0;
+ while(l2 != N) {
+ if(c2 > c1) {
+ if(vmatch(l1->left, l2->right)) {
+ }
+ }
+ l2 = listnext(&save1);
+ c2++;
+ }
+ l1 = listnext(&save1);
+ c1++;
+ }
return n;
}
ADDQ $16, SP
CALL check(SB)
CALL main_main(SB)
- CALL sys_exit(SB)
+ CALL sys·exit(SB)
CALL notok(SB)
POPQ AX
RET
TEXT FLUSH(SB),1,$-8
RET
-TEXT sys_exit(SB),1,$-8
+TEXT sys·exit(SB),1,$-8
MOVL 8(SP), DI // arg 1 exit status
MOVL $(0x2000000+1), AX
SYSCALL
CALL notok(SB)
RET
-TEXT sys_write(SB),1,$-8
+TEXT sys·write(SB),1,$-8
MOVL 8(SP), DI // arg 1 fid
MOVQ 16(SP), SI // arg 2 buf
MOVL 24(SP), DX // arg 3 count
CALL notok(SB)
RET
-TEXT sys_sigaction(SB),1,$-8
+TEXT sys·sigaction(SB),1,$-8
MOVL 8(SP), DI // arg 1 sig
MOVQ 16(SP), SI // arg 2 act
MOVQ 24(SP), DX // arg 3 oact
CALL sighandler(SB)
RET
-TEXT sys_breakpoint(SB),1,$-8
+TEXT sys·breakpoint(SB),1,$-8
BYTE $0xcc
RET
-TEXT sys_mmap(SB),1,$-8
+TEXT sys·mmap(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), SI // arg 2 len
MOVL 20(SP), DX // arg 3 prot
MOVQ BP, (BP)
RET
-TEXT sys_memclr(SB),1,$-8
+TEXT sys·memclr(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), CX // arg 2 count
ADDL $7, CX
STOSQ
RET
-TEXT sys_getcallerpc+0(SB),0,$0
+TEXT sys·getcallerpc+0(SB),0,$0
MOVQ x+0(FP),AX
MOVQ -8(AX),AX
RET
done:
ADDQ $8, CX
CALL check(SB)
- CALL main_main(SB)
- CALL sys_exit(SB)
+ CALL main·main(SB)
+ CALL sys·exit(SB)
CALL notok(SB)
POPQ AX
RET
TEXT FLUSH(SB),1,$-8
RET
-TEXT sys_exit(SB),1,$-8
+TEXT sys·exit(SB),1,$-8
MOVL 8(SP), DI
MOVL $60, AX
SYSCALL
CALL notok(SB)
RET
-TEXT sys_write(SB),1,$-8
+TEXT sys·write(SB),1,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
CALL notok(SB)
RET
-TEXT sys_rt_sigaction(SB),1,$-8
+TEXT sys·rt_sigaction(SB),1,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVQ 24(SP), DX
CALL notok(SB)
RET
-TEXT sigtramp(SB),1,$24
+TEXT sigtramp(SB),1,$24
MOVQ DI,0(SP)
MOVQ SI,8(SP)
MOVQ DX,16(SP)
CALL sighandler(SB)
RET
-TEXT sys_breakpoint(SB),1,$-8
+TEXT sys·breakpoint(SB),1,$-8
BYTE $0xcc
RET
-TEXT sys_mmap(SB),1,$-8
+TEXT sys·mmap(SB),1,$-8
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVL 20(SP), DX
MOVQ BP, (BP)
RET
-TEXT sys_memclr(SB),1,$-8
+TEXT sys·memclr(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), CX // arg 2 count
ADDL $7, CX
STOSQ
RET
-TEXT sys_getcallerpc+0(SB),0,$0
+TEXT sys·getcallerpc+0(SB),0,$0
MOVQ x+0(FP),AX
MOVQ -8(AX),AX
RET
void
print_thread_state(_STRUCT_X86_THREAD_STATE64* ss)
{
- prints("\nrax 0x"); sys_printpointer((void*)ss->__rax);
- prints("\nrbx 0x"); sys_printpointer((void*)ss->__rbx);
- prints("\nrcx 0x"); sys_printpointer((void*)ss->__rcx);
- prints("\nrdx 0x"); sys_printpointer((void*)ss->__rdx);
- prints("\nrdi 0x"); sys_printpointer((void*)ss->__rdi);
- prints("\nrsi 0x"); sys_printpointer((void*)ss->__rsi);
- prints("\nrbp 0x"); sys_printpointer((void*)ss->__rbp);
- prints("\nrsp 0x"); sys_printpointer((void*)ss->__rsp);
- prints("\nr8 0x"); sys_printpointer((void*)ss->__r8 );
- prints("\nr9 0x"); sys_printpointer((void*)ss->__r9 );
- prints("\nr10 0x"); sys_printpointer((void*)ss->__r10);
- prints("\nr11 0x"); sys_printpointer((void*)ss->__r11);
- prints("\nr12 0x"); sys_printpointer((void*)ss->__r12);
- prints("\nr13 0x"); sys_printpointer((void*)ss->__r13);
- prints("\nr14 0x"); sys_printpointer((void*)ss->__r14);
- prints("\nr15 0x"); sys_printpointer((void*)ss->__r15);
- prints("\nrip 0x"); sys_printpointer((void*)ss->__rip);
- prints("\nrflags 0x"); sys_printpointer((void*)ss->__rflags);
- prints("\ncs 0x"); sys_printpointer((void*)ss->__cs);
- prints("\nfs 0x"); sys_printpointer((void*)ss->__fs);
- prints("\ngs 0x"); sys_printpointer((void*)ss->__gs);
+ prints("\nrax 0x"); sys·printpointer((void*)ss->__rax);
+ prints("\nrbx 0x"); sys·printpointer((void*)ss->__rbx);
+ prints("\nrcx 0x"); sys·printpointer((void*)ss->__rcx);
+ prints("\nrdx 0x"); sys·printpointer((void*)ss->__rdx);
+ prints("\nrdi 0x"); sys·printpointer((void*)ss->__rdi);
+ prints("\nrsi 0x"); sys·printpointer((void*)ss->__rsi);
+ prints("\nrbp 0x"); sys·printpointer((void*)ss->__rbp);
+ prints("\nrsp 0x"); sys·printpointer((void*)ss->__rsp);
+ prints("\nr8 0x"); sys·printpointer((void*)ss->__r8 );
+ prints("\nr9 0x"); sys·printpointer((void*)ss->__r9 );
+ prints("\nr10 0x"); sys·printpointer((void*)ss->__r10);
+ prints("\nr11 0x"); sys·printpointer((void*)ss->__r11);
+ prints("\nr12 0x"); sys·printpointer((void*)ss->__r12);
+ prints("\nr13 0x"); sys·printpointer((void*)ss->__r13);
+ prints("\nr14 0x"); sys·printpointer((void*)ss->__r14);
+ prints("\nr15 0x"); sys·printpointer((void*)ss->__r15);
+ prints("\nrip 0x"); sys·printpointer((void*)ss->__rip);
+ prints("\nrflags 0x"); sys·printpointer((void*)ss->__rflags);
+ prints("\ncs 0x"); sys·printpointer((void*)ss->__cs);
+ prints("\nfs 0x"); sys·printpointer((void*)ss->__fs);
+ prints("\ngs 0x"); sys·printpointer((void*)ss->__gs);
prints("\n");
}
{
if(sig < 0 || sig >= NSIG){
prints("Signal ");
- sys_printint(sig);
+ sys·printint(sig);
}else{
prints(sigtab[sig].name);
}
_STRUCT_MCONTEXT64 *uc_mcontext = get_uc_mcontext(context);
_STRUCT_X86_THREAD_STATE64 *ss = get___ss(uc_mcontext);
- prints("\nFaulting address: 0x"); sys_printpointer(info->si_addr);
- prints("\npc: 0x"); sys_printpointer((void *)ss->__rip);
+ prints("\nFaulting address: 0x"); sys·printpointer(info->si_addr);
+ prints("\npc: 0x"); sys·printpointer((void *)ss->__rip);
prints("\n\n");
traceback((void *)ss->__rip, (void *)ss->__rsp);
print_thread_state(ss);
- sys_exit(2);
+ sys·exit(2);
}
sigaction a;
for(i = 0; i <NSIG; i++)
if(sigtab[i].catch){
- sys_sigaction(i, &a, (void*)0);
+ sys·sigaction(i, &a, (void*)0);
}
}
if(sig < 0 || sig >= NSIG){
prints("Signal ");
- sys_printint(sig);
+ sys·printint(sig);
}else{
prints(sigtab[sig].name);
}
prints("\nFaulting address: 0x");
- sys_printpointer(info->si_addr);
+ sys·printpointer(info->si_addr);
prints("\nPC: 0x");
- sys_printpointer(context[21]);
+ sys·printpointer(context[21]);
prints("\nSP: 0x");
- sys_printpointer(context[20]);
+ sys·printpointer(context[20]);
prints("\n");
traceback(context[21], context[20]); /* empirically discovered locations */
- sys_breakpoint();
- sys_exit(2);
+ sys·breakpoint();
+ sys·exit(2);
}
sigaction a;
for(i = 0; i <NSIG; i++)
if(sigtab[i].catch){
- sys_rt_sigaction(i, &a, (void*)0, 8);
+ sys·rt_sigaction(i, &a, (void*)0, 8);
}
}
name = "panic";
for(;;){
prints("0x");
- sys_printpointer(pc);
+ sys·printpointer(pc);
prints("?zi\n");
/* find SP offset by stepping back through instructions to SP offset marker */
while(pc > (uint8*)0x1000+sizeof spmark-1) {
for(i = 0; i < 3; i++){
if(i != 0)
prints(", ");
- sys_printint(((uint32*)sp)[i]);
+ sys·printint(((uint32*)sp)[i]);
}
prints(", ...)\n");
prints("\t");
if(i != 0)
prints(", ");
prints("0x");
- sys_printpointer(((void**)sp)[i]);
+ sys·printpointer(((void**)sp)[i]);
}
prints(", ...)\n");
/* print pc for next frame */
static string emptystring = (string)∅
void
-sys_printbool(bool v)
+sys·printbool(bool v)
{
if(v) {
- sys_write(1, (byte*)"true", 4);
+ sys·write(1, (byte*)"true", 4);
return;
}
- sys_write(1, (byte*)"false", 5);
+ sys·write(1, (byte*)"false", 5);
}
void
-sys_printfloat(float64 v)
+sys·printfloat(float64 v)
{
- sys_write(1, "printfloat", 10);
+ sys·write(1, "printfloat", 10);
}
void
-sys_printint(int64 v)
+sys·printint(int64 v)
{
byte buf[100];
int32 i, s;
v = -v;
s = 1;
if(v < 0) {
- sys_write(1, (byte*)"-oo", 3);
+ sys·write(1, (byte*)"-oo", 3);
return;
}
}
i--;
buf[i] = '-';
}
- sys_write(1, buf+i, nelem(buf)-i);
+ sys·write(1, buf+i, nelem(buf)-i);
}
void
-sys_printpointer(void *p)
+sys·printpointer(void *p)
{
uint64 v;
byte buf[100];
break;
v = v/16;
}
- sys_write(1, buf+i, nelem(buf)-i);
+ sys·write(1, buf+i, nelem(buf)-i);
}
void
-sys_printstring(string v)
+sys·printstring(string v)
{
if(v != nil)
- sys_write(1, v->str, v->len);
+ sys·write(1, v->str, v->len);
}
int32
void
prints(int8 *s)
{
- sys_write(1, s, findnull(s));
+ sys·write(1, s, findnull(s));
}
void
-sys_printpc(void *p)
+sys·printpc(void *p)
{
prints("PC=0x");
- sys_printpointer(sys_getcallerpc(p));
+ sys·printpointer(sys·getcallerpc(p));
}
/*BUG: move traceback code to architecture-dependent runtime */
void
-sys_panicl(int32 lno)
+sys·panicl(int32 lno)
{
uint8 *sp;
prints("\npanic on line ");
- sys_printint(lno);
+ sys·printint(lno);
prints(" ");
- sys_printpc(&lno);
+ sys·printpc(&lno);
prints("\n");
sp = (uint8*)&lno;
- traceback(sys_getcallerpc(&lno), sp);
- sys_breakpoint();
- sys_exit(2);
+ traceback(sys·getcallerpc(&lno), sp);
+ sys·breakpoint();
+ sys·exit(2);
}
dump(byte *p, int32 n)
int32 i;
for(i=0; i<n; i++) {
- sys_printpointer((byte*)(p[i]>>4));
- sys_printpointer((byte*)(p[i]&0xf));
+ sys·printpointer((byte*)(p[i]>>4));
+ sys·printpointer((byte*)(p[i]&0xf));
if((i&15) == 15)
prints("\n");
else
prints("throw: ");
prints(s);
prints("\n");
- sys_exit(1);
+ *(int32*)0 = 0;
+ sys·exit(1);
}
void
{
byte* v;
- v = sys_mmap(nil, NHUNK, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, 0, 0);
- sys_memclr(v, n);
+ v = sys·mmap(nil, NHUNK, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, 0, 0);
+ sys·memclr(v, n);
nmmap += n;
return v;
}
}
void
-sys_mal(uint32 n, uint8 *ret)
+sys·mal(uint32 n, uint8 *ret)
{
ret = mal(n);
FLUSH(&ret);
}
void
-sys_catstring(string s1, string s2, string s3)
+sys·catstring(string s1, string s2, string s3)
{
uint32 l;
}
void
-sys_cmpstring(string s1, string s2, int32 v)
+sys·cmpstring(string s1, string s2, int32 v)
{
v = cmpstring(s1, s2);
FLUSH(&v);
prints(s);
prints(" ");
- sys_printint(a);
+ sys·printint(a);
prints("<");
- sys_printint(b);
+ sys·printint(b);
prints(">");
- sys_printint(c);
+ sys·printint(c);
prints("\n");
throw("bounds");
}
void
-sys_slicestring(string si, int32 lindex, int32 hindex, string so)
+sys·slicestring(string si, int32 lindex, int32 hindex, string so)
{
string s, str;
int32 l;
if(lindex < 0 || lindex > si->len ||
hindex < lindex || hindex > si->len) {
- sys_printpc(&si);
+ sys·printpc(&si);
prints(" ");
prbounds("slice", lindex, si->len, hindex);
}
}
void
-sys_indexstring(string s, int32 i, byte b)
+sys·indexstring(string s, int32 i, byte b)
{
if(s == nil)
s = emptystring;
if(i < 0 || i >= s->len) {
- sys_printpc(&s);
+ sys·printpc(&s);
prints(" ");
prbounds("index", 0, i, s->len);
}
}
void
-sys_intstring(int64 v, string s)
+sys·intstring(int64 v, string s)
{
int32 l;
}
void
-sys_byteastring(byte *a, int32 l, string s)
+sys·byteastring(byte *a, int32 l, string s)
{
s = mal(sizeof(s->len)+l);
s->len = l;
}
void
-sys_ifaces2i(Sigi *si, Sigs *ss, Map *m, void *s)
+sys·ifaces2i(Sigi *si, Sigs *ss, Map *m, void *s)
{
if(debug) {
prints("s2i sigi=");
- sys_printpointer(si);
+ sys·printpointer(si);
prints(" sigs=");
- sys_printpointer(ss);
+ sys·printpointer(ss);
prints(" s=");
- sys_printpointer(s);
+ sys·printpointer(s);
}
if(s == nil) {
if(debug) {
prints(" returning m=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints(" s=");
- sys_printpointer(s);
+ sys·printpointer(s);
prints("\n");
dump((byte*)m, 64);
}
}
void
-sys_ifacei2i(Sigi *si, Map *m, void *s)
+sys·ifacei2i(Sigi *si, Map *m, void *s)
{
if(debug) {
prints("i2i sigi=");
- sys_printpointer(si);
+ sys·printpointer(si);
prints(" m=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints(" s=");
- sys_printpointer(s);
+ sys·printpointer(s);
}
if(m == nil) {
if(debug) {
prints(" returning m=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints(" s=");
- sys_printpointer(s);
+ sys·printpointer(s);
prints("\n");
dump((byte*)m, 64);
}
}
void
-sys_ifacei2s(Sigs *ss, Map *m, void *s)
+sys·ifacei2s(Sigs *ss, Map *m, void *s)
{
if(debug) {
prints("i2s m=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints(" s=");
- sys_printpointer(s);
+ sys·printpointer(s);
prints("\n");
}
// func frexp(float64) (int32, float64); // break fp into exp,fract
void
-sys_frexp(float64 din, int32 iou, float64 dou)
+sys·frexp(float64 din, int32 iou, float64 dou)
{
dou = frexp(din, &iou);
FLUSH(&dou);
//func ldexp(int32, float64) float64; // make fp from exp,fract
void
-sys_ldexp(float64 din, int32 ein, float64 dou)
+sys·ldexp(float64 din, int32 ein, float64 dou)
{
dou = ldexp(din, ein);
FLUSH(&dou);
//func modf(float64) (float64, float64); // break fp into double+double
float64
-sys_modf(float64 din, float64 dou1, float64 dou2)
+sys·modf(float64 din, float64 dou1, float64 dou2)
{
dou1 = modf(din, &dou2);
FLUSH(&dou2);
v = *(uint64*)a;
break;
}
- sys_printint(v);
+ sys·printint(v);
}
static void
static void
stringprint(uint32 s, string *a)
{
- sys_printstring(*a);
+ sys·printstring(*a);
}
static void
// keyalg uint32, valalg uint32,
// hint uint32) (hmap *map[any]any);
void
-sys_newmap(uint32 keysize, uint32 valsize,
+sys·newmap(uint32 keysize, uint32 valsize,
uint32 keyalg, uint32 valalg, uint32 hint,
Hmap* ret)
{
if(keyalg >= nelem(algarray) ||
valalg >= nelem(algarray)) {
prints("0<=");
- sys_printint(keyalg);
+ sys·printint(keyalg);
prints("<");
- sys_printint(nelem(algarray));
+ sys·printint(nelem(algarray));
prints("\n0<=");
- sys_printint(valalg);
+ sys·printint(valalg);
prints("<");
- sys_printint(nelem(algarray));
+ sys·printint(nelem(algarray));
prints("\n");
- throw("sys_newmap: key/val algorithm out of range");
+ throw("sys·newmap: key/val algorithm out of range");
}
m = mal(sizeof(*m));
if(debug) {
prints("newmap: map=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints("; keysize=");
- sys_printint(keysize);
+ sys·printint(keysize);
prints("; valsize=");
- sys_printint(valsize);
+ sys·printint(valsize);
prints("; keyalg=");
- sys_printint(keyalg);
+ sys·printint(keyalg);
prints("; valalg=");
- sys_printint(valalg);
+ sys·printint(valalg);
prints("; valoffset=");
- sys_printint(m->valoffset);
+ sys·printint(m->valoffset);
prints("; ko=");
- sys_printint(m->ko);
+ sys·printint(m->ko);
prints("; vo=");
- sys_printint(m->vo);
+ sys·printint(m->vo);
prints("; po=");
- sys_printint(m->po);
+ sys·printint(m->po);
prints("\n");
}
}
// mapaccess1(hmap *map[any]any, key any) (val any);
void
-sys_mapaccess1(Hmap *m, ...)
+sys·mapaccess1(Hmap *m, ...)
{
Link *l;
byte *ak, *av;
out:
if(debug) {
- prints("sys_mapaccess1: map=");
- sys_printpointer(m);
+ prints("sys·mapaccess1: map=");
+ sys·printpointer(m);
prints("; key=");
m->keyalg->print(m->keysize, ak);
prints("; val=");
// mapaccess2(hmap *map[any]any, key any) (val any, pres bool);
void
-sys_mapaccess2(Hmap *m, ...)
+sys·mapaccess2(Hmap *m, ...)
{
Link *l;
byte *ak, *av, *ap;
out:
if(debug) {
- prints("sys_mapaccess2: map=");
- sys_printpointer(m);
+ prints("sys·mapaccess2: map=");
+ sys·printpointer(m);
prints("; key=");
m->keyalg->print(m->keysize, ak);
prints("; val=");
m->valalg->print(m->valsize, av);
prints("; pres=");
- sys_printbool(*ap);
+ sys·printbool(*ap);
prints("\n");
}
}
static void
-sys_mapassign(Hmap *m, byte *ak, byte *av)
+sys·mapassign(Hmap *m, byte *ak, byte *av)
{
Link *l;
if(debug) {
prints("mapassign: map=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints("; key=");
m->keyalg->print(m->keysize, ak);
prints("; val=");
// mapassign1(hmap *map[any]any, key any, val any);
void
-sys_mapassign1(Hmap *m, ...)
+sys·mapassign1(Hmap *m, ...)
{
Link **ll;
byte *ak, *av;
ak = (byte*)&m + m->ko;
av = (byte*)&m + m->vo;
- sys_mapassign(m, ak, av);
+ sys·mapassign(m, ak, av);
}
// mapassign2(hmap *map[any]any, key any, val any, pres bool);
void
-sys_mapassign2(Hmap *m, ...)
+sys·mapassign2(Hmap *m, ...)
{
Link **ll;
byte *ak, *av, *ap;
if(*ap == true) {
// assign
- sys_mapassign(m, ak, av);
+ sys·mapassign(m, ak, av);
return;
}
m->len--;
if(debug) {
prints("mapdelete (found): map=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints("; key=");
m->keyalg->print(m->keysize, ak);
prints("\n");
if(debug) {
prints("mapdelete (not found): map=");
- sys_printpointer(m);
+ sys·printpointer(m);
prints("; key=");
m->keyalg->print(m->keysize, ak);
prints(" *** not found\n");
uint32 cmpstring(string, string);
void initsig(void);
void traceback(uint8 *pc, uint8 *sp);
-struct SigTab {
+struct SigTab
+{
int32 catch;
int8 *name;
};
/*
* low level go -called
*/
-void sys_exit(int32);
-void sys_write(int32, void*, int32);
-void sys_breakpoint(void);
-uint8* sys_mmap(byte*, uint32, int32, int32, int32, uint32);
-void sys_memclr(byte*, uint32);
-void* sys_getcallerpc(void*);
-void sys_sigaction(int64, void*, void*);
-void sys_rt_sigaction(int64, void*, void*, uint64);
+void sys·exit(int32);
+void sys·write(int32, void*, int32);
+void sys·breakpoint(void);
+uint8* sys·mmap(byte*, uint32, int32, int32, int32, uint32);
+void sys·memclr(byte*, uint32);
+void* sys·getcallerpc(void*);
+void sys·sigaction(int64, void*, void*);
+void sys·rt_sigaction(int64, void*, void*, uint64);
/*
* runtime go-called
*/
-void sys_printbool(bool);
-void sys_printfloat(float64);
-void sys_printint(int64);
-void sys_printstring(string);
-void sys_printpointer(void*);
-void sys_catstring(string, string, string);
-void sys_cmpstring(string, string, int32);
-void sys_slicestring(string, int32, int32, string);
-void sys_indexstring(string, int32, byte);
-void sys_intstring(int64, string);
-void sys_ifaces2i(Sigi*, Sigs*, Map*, void*);
-void sys_ifacei2i(Sigi*, Map*, void*);
-void sys_ifacei2s(Sigs*, Map*, void*);
+void sys·printbool(bool);
+void sys·printfloat(float64);
+void sys·printint(int64);
+void sys·printstring(string);
+void sys·printpointer(void*);
+void sys·catstring(string, string, string);
+void sys·cmpstring(string, string, int32);
+void sys·slicestring(string, int32, int32, string);
+void sys·indexstring(string, int32, byte);
+void sys·intstring(int64, string);
+void sys·ifaces2i(Sigi*, Sigs*, Map*, void*);
+void sys·ifacei2i(Sigi*, Map*, void*);
+void sys·ifacei2s(Sigs*, Map*, void*);