[gogc] 2 new revisions pushed by bytbox on 2010-08-17 22:55 GMT

0 views
Skip to first unread message

go...@googlecode.com

unread,
Aug 17, 2010, 10:34:58 PM8/17/10
to go...@googlegroups.com
2 new revisions:

Revision: 31b3224a94
Author: Andreas Unterweger <and...@gmx.at>
Date: Sat Jun 19 12:06:20 2010
Log: string.go: Hopefully fixed the string bug which kept us busy for
more ...
http://code.google.com/p/gogc/source/detail?r=31b3224a94

Revision: d29530e41b
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 00:26:19 2010
Log: asm_out.go: Fixed semantic bug when dereferring byte values from
into ...
http://code.google.com/p/gogc/source/detail?r=d29530e41b

==============================================================================
Revision: 31b3224a94
Author: Andreas Unterweger <and...@gmx.at>
Date: Sat Jun 19 12:06:20 2010
Log: string.go: Hopefully fixed the string bug which kept us busy for more
than two weeks now
http://code.google.com/p/gogc/source/detail?r=31b3224a94

Modified:
/src/_gogo_.sog
/src/libgogo/string.go

=======================================
--- /src/_gogo_.sog Sat Jun 19 11:30:38 2010
+++ /src/_gogo_.sog Sat Jun 19 12:06:20 2010
@@ -21,6 +21,9 @@
//TYPE,0,libgogo·ObjectDesc,64,64
//TYPE,0,libgogo·Item,72,72
//FUNC,0,main·init
+//FUNC,0,main·main
+//FUNC,1,main·StringAppend,Artificial parameter:*·string,Artificial
parameter:·string
+//FUNC,1,main·PrintString,Artificial parameter:·string
//FUNC,0,libgogo·ToIntFromByte,b:·byte,return value:·uint64
//FUNC,0,libgogo·ToByteFromInt,i:·uint64,return value:·byte
//FUNC,0,libgogo·ToUint64FromBytePtr,char:*·byte,return value:·uint64
@@ -98,1455 +101,1598 @@

//FUNC,0,libgogo·SetStringAddressAndLength,str:*·string,new_addr:·uint64,new_length:·uint64
//FUNC,0,libgogo·GetMaxStringLength,length:·uint64,return value:·uint64
//FUNC,0,libgogo·Uint64ToItemPtr,adr:·uint64,return value:*libgogo·Item
+//FUNC,0,libgogo·ItemPtrToUint64,item:*libgogo·Item,return value:·uint64
//FUNC,0,libgogo·NewItem,return value:*libgogo·Item

//FUNC,0,libgogo·SetItem,item:*libgogo·Item,mode:·uint64,itemtype:*libgogo·TypeDesc,ptrtype:·uint64,a:·uint64,r:·uint64,global:·uint64
//FUNC,0,libgogo·GetArgv
//FUNC,0,libgogo·Exit,code:·uint64
//End Symbol table

-//--- String buffer start ('') at libgogo/convert.go:74:24
+//--- String buffer start ('') at test.go:4:22
DATA data+8(SB)/1, $0
+//--- String buffer end at test.go:4:22
+//--- String buffer start ('Hello') at test.go:5:29
+DATA data+32(SB)/1, $72
+DATA data+33(SB)/1, $101
+DATA data+34(SB)/1, $108
+DATA data+35(SB)/1, $108
+DATA data+36(SB)/1, $111
+DATA data+37(SB)/1, $0
+//--- String buffer end at test.go:5:29
+//--- String buffer start (' world!\n') at test.go:6:33
+DATA data+56(SB)/1, $32
+DATA data+57(SB)/1, $119
+DATA data+58(SB)/1, $111
+DATA data+59(SB)/1, $114
+DATA data+60(SB)/1, $108
+DATA data+61(SB)/1, $100
+DATA data+62(SB)/1, $33
+DATA data+63(SB)/1, $10
+DATA data+64(SB)/1, $0
+//--- String buffer end at test.go:6:33
+//--- String buffer start ('') at libgogo/convert.go:74:24
+DATA data+88(SB)/1, $0
//--- String buffer end at libgogo/convert.go:74:24
//--- String buffer start ('Tried to GetItemAt(') at libgogo/list.go:77:42
-DATA data+32(SB)/1, $84
-DATA data+33(SB)/1, $114
-DATA data+34(SB)/1, $105
-DATA data+35(SB)/1, $101
-DATA data+36(SB)/1, $100
-DATA data+37(SB)/1, $32
-DATA data+38(SB)/1, $116
-DATA data+39(SB)/1, $111
-DATA data+40(SB)/1, $32
-DATA data+41(SB)/1, $71
-DATA data+42(SB)/1, $101
-DATA data+43(SB)/1, $116
-DATA data+44(SB)/1, $73
-DATA data+45(SB)/1, $116
-DATA data+46(SB)/1, $101
-DATA data+47(SB)/1, $109
-DATA data+48(SB)/1, $65
-DATA data+49(SB)/1, $116
-DATA data+50(SB)/1, $40
-DATA data+51(SB)/1, $0
+DATA data+112(SB)/1, $84
+DATA data+113(SB)/1, $114
+DATA data+114(SB)/1, $105
+DATA data+115(SB)/1, $101
+DATA data+116(SB)/1, $100
+DATA data+117(SB)/1, $32
+DATA data+118(SB)/1, $116
+DATA data+119(SB)/1, $111
+DATA data+120(SB)/1, $32
+DATA data+121(SB)/1, $71
+DATA data+122(SB)/1, $101
+DATA data+123(SB)/1, $116
+DATA data+124(SB)/1, $73
+DATA data+125(SB)/1, $116
+DATA data+126(SB)/1, $101
+DATA data+127(SB)/1, $109
+DATA data+128(SB)/1, $65
+DATA data+129(SB)/1, $116
+DATA data+130(SB)/1, $40
+DATA data+131(SB)/1, $0
//--- String buffer end at libgogo/list.go:77:42
//--- String buffer start (') from a list with only ') at
libgogo/list.go:79:47
-DATA data+72(SB)/1, $41
-DATA data+73(SB)/1, $32
-DATA data+74(SB)/1, $102
-DATA data+75(SB)/1, $114
-DATA data+76(SB)/1, $111
-DATA data+77(SB)/1, $109
-DATA data+78(SB)/1, $32
-DATA data+79(SB)/1, $97
-DATA data+80(SB)/1, $32
-DATA data+81(SB)/1, $108
-DATA data+82(SB)/1, $105
-DATA data+83(SB)/1, $115
-DATA data+84(SB)/1, $116
-DATA data+85(SB)/1, $32
-DATA data+86(SB)/1, $119
-DATA data+87(SB)/1, $105
-DATA data+88(SB)/1, $116
-DATA data+89(SB)/1, $104
-DATA data+90(SB)/1, $32
-DATA data+91(SB)/1, $111
-DATA data+92(SB)/1, $110
-DATA data+93(SB)/1, $108
-DATA data+94(SB)/1, $121
-DATA data+95(SB)/1, $32
-DATA data+96(SB)/1, $0
+DATA data+152(SB)/1, $41
+DATA data+153(SB)/1, $32
+DATA data+154(SB)/1, $102
+DATA data+155(SB)/1, $114
+DATA data+156(SB)/1, $111
+DATA data+157(SB)/1, $109
+DATA data+158(SB)/1, $32
+DATA data+159(SB)/1, $97
+DATA data+160(SB)/1, $32
+DATA data+161(SB)/1, $108
+DATA data+162(SB)/1, $105
+DATA data+163(SB)/1, $115
+DATA data+164(SB)/1, $116
+DATA data+165(SB)/1, $32
+DATA data+166(SB)/1, $119
+DATA data+167(SB)/1, $105
+DATA data+168(SB)/1, $116
+DATA data+169(SB)/1, $104
+DATA data+170(SB)/1, $32
+DATA data+171(SB)/1, $111
+DATA data+172(SB)/1, $110
+DATA data+173(SB)/1, $108
+DATA data+174(SB)/1, $121
+DATA data+175(SB)/1, $32
+DATA data+176(SB)/1, $0
//--- String buffer end at libgogo/list.go:79:47
//--- String buffer start (' items - out of bounds error') at
libgogo/list.go:81:49
-DATA data+120(SB)/1, $32
-DATA data+121(SB)/1, $105
-DATA data+122(SB)/1, $116
-DATA data+123(SB)/1, $101
-DATA data+124(SB)/1, $109
-DATA data+125(SB)/1, $115
-DATA data+126(SB)/1, $32
-DATA data+127(SB)/1, $45
-DATA data+128(SB)/1, $32
-DATA data+129(SB)/1, $111
-DATA data+130(SB)/1, $117
-DATA data+131(SB)/1, $116
-DATA data+132(SB)/1, $32
-DATA data+133(SB)/1, $111
-DATA data+134(SB)/1, $102
-DATA data+135(SB)/1, $32
-DATA data+136(SB)/1, $98
-DATA data+137(SB)/1, $111
-DATA data+138(SB)/1, $117
-DATA data+139(SB)/1, $110
-DATA data+140(SB)/1, $100
-DATA data+141(SB)/1, $115
-DATA data+142(SB)/1, $32
-DATA data+143(SB)/1, $101
-DATA data+144(SB)/1, $114
-DATA data+145(SB)/1, $114
-DATA data+146(SB)/1, $111
-DATA data+147(SB)/1, $114
-DATA data+148(SB)/1, $0
-//--- String buffer end at libgogo/list.go:81:49
-//--- String buffer start ('GetBrk failed\n') at libgogo/memmgr.go:53:36
-DATA data+200(SB)/1, $71
-DATA data+201(SB)/1, $101
+DATA data+200(SB)/1, $32
+DATA data+201(SB)/1, $105
DATA data+202(SB)/1, $116
-DATA data+203(SB)/1, $66
-DATA data+204(SB)/1, $114
-DATA data+205(SB)/1, $107
+DATA data+203(SB)/1, $101
+DATA data+204(SB)/1, $109
+DATA data+205(SB)/1, $115
DATA data+206(SB)/1, $32
-DATA data+207(SB)/1, $102
-DATA data+208(SB)/1, $97
-DATA data+209(SB)/1, $105
-DATA data+210(SB)/1, $108
-DATA data+211(SB)/1, $101
-DATA data+212(SB)/1, $100
-DATA data+213(SB)/1, $10
-DATA data+214(SB)/1, $0
+DATA data+207(SB)/1, $45
+DATA data+208(SB)/1, $32
+DATA data+209(SB)/1, $111
+DATA data+210(SB)/1, $117
+DATA data+211(SB)/1, $116
+DATA data+212(SB)/1, $32
+DATA data+213(SB)/1, $111
+DATA data+214(SB)/1, $102
+DATA data+215(SB)/1, $32
+DATA data+216(SB)/1, $98
+DATA data+217(SB)/1, $111
+DATA data+218(SB)/1, $117
+DATA data+219(SB)/1, $110
+DATA data+220(SB)/1, $100
+DATA data+221(SB)/1, $115
+DATA data+222(SB)/1, $32
+DATA data+223(SB)/1, $101
+DATA data+224(SB)/1, $114
+DATA data+225(SB)/1, $114
+DATA data+226(SB)/1, $111
+DATA data+227(SB)/1, $114
+DATA data+228(SB)/1, $0
+//--- String buffer end at libgogo/list.go:81:49
+//--- String buffer start ('GetBrk failed\n') at libgogo/memmgr.go:53:36
+DATA data+280(SB)/1, $71
+DATA data+281(SB)/1, $101
+DATA data+282(SB)/1, $116
+DATA data+283(SB)/1, $66
+DATA data+284(SB)/1, $114
+DATA data+285(SB)/1, $107
+DATA data+286(SB)/1, $32
+DATA data+287(SB)/1, $102
+DATA data+288(SB)/1, $97
+DATA data+289(SB)/1, $105
+DATA data+290(SB)/1, $108
+DATA data+291(SB)/1, $101
+DATA data+292(SB)/1, $100
+DATA data+293(SB)/1, $10
+DATA data+294(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:53:36
//--- String buffer start ('Brk failed while allocating ') at
libgogo/memmgr.go:70:51
-DATA data+232(SB)/1, $66
-DATA data+233(SB)/1, $114
-DATA data+234(SB)/1, $107
-DATA data+235(SB)/1, $32
-DATA data+236(SB)/1, $102
-DATA data+237(SB)/1, $97
-DATA data+238(SB)/1, $105
-DATA data+239(SB)/1, $108
-DATA data+240(SB)/1, $101
-DATA data+241(SB)/1, $100
-DATA data+242(SB)/1, $32
-DATA data+243(SB)/1, $119
-DATA data+244(SB)/1, $104
-DATA data+245(SB)/1, $105
-DATA data+246(SB)/1, $108
-DATA data+247(SB)/1, $101
-DATA data+248(SB)/1, $32
-DATA data+249(SB)/1, $97
-DATA data+250(SB)/1, $108
-DATA data+251(SB)/1, $108
-DATA data+252(SB)/1, $111
-DATA data+253(SB)/1, $99
-DATA data+254(SB)/1, $97
-DATA data+255(SB)/1, $116
-DATA data+256(SB)/1, $105
-DATA data+257(SB)/1, $110
-DATA data+258(SB)/1, $103
-DATA data+259(SB)/1, $32
-DATA data+260(SB)/1, $0
+DATA data+312(SB)/1, $66
+DATA data+313(SB)/1, $114
+DATA data+314(SB)/1, $107
+DATA data+315(SB)/1, $32
+DATA data+316(SB)/1, $102
+DATA data+317(SB)/1, $97
+DATA data+318(SB)/1, $105
+DATA data+319(SB)/1, $108
+DATA data+320(SB)/1, $101
+DATA data+321(SB)/1, $100
+DATA data+322(SB)/1, $32
+DATA data+323(SB)/1, $119
+DATA data+324(SB)/1, $104
+DATA data+325(SB)/1, $105
+DATA data+326(SB)/1, $108
+DATA data+327(SB)/1, $101
+DATA data+328(SB)/1, $32
+DATA data+329(SB)/1, $97
+DATA data+330(SB)/1, $108
+DATA data+331(SB)/1, $108
+DATA data+332(SB)/1, $111
+DATA data+333(SB)/1, $99
+DATA data+334(SB)/1, $97
+DATA data+335(SB)/1, $116
+DATA data+336(SB)/1, $105
+DATA data+337(SB)/1, $110
+DATA data+338(SB)/1, $103
+DATA data+339(SB)/1, $32
+DATA data+340(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:70:51
//--- String buffer start (' bytes. Errno: ') at libgogo/memmgr.go:72:38
-DATA data+280(SB)/1, $32
-DATA data+281(SB)/1, $98
-DATA data+282(SB)/1, $121
-DATA data+283(SB)/1, $116
-DATA data+284(SB)/1, $101
-DATA data+285(SB)/1, $115
-DATA data+286(SB)/1, $46
-DATA data+287(SB)/1, $32
-DATA data+288(SB)/1, $69
-DATA data+289(SB)/1, $114
-DATA data+290(SB)/1, $114
-DATA data+291(SB)/1, $110
-DATA data+292(SB)/1, $111
-DATA data+293(SB)/1, $58
-DATA data+294(SB)/1, $32
-DATA data+295(SB)/1, $0
+DATA data+360(SB)/1, $32
+DATA data+361(SB)/1, $98
+DATA data+362(SB)/1, $121
+DATA data+363(SB)/1, $116
+DATA data+364(SB)/1, $101
+DATA data+365(SB)/1, $115
+DATA data+366(SB)/1, $46
+DATA data+367(SB)/1, $32
+DATA data+368(SB)/1, $69
+DATA data+369(SB)/1, $114
+DATA data+370(SB)/1, $114
+DATA data+371(SB)/1, $110
+DATA data+372(SB)/1, $111
+DATA data+373(SB)/1, $58
+DATA data+374(SB)/1, $32
+DATA data+375(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:72:38
//--- String buffer start ('\n') at libgogo/memmgr.go:74:23
-DATA data+312(SB)/1, $10
-DATA data+313(SB)/1, $0
+DATA data+392(SB)/1, $10
+DATA data+393(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:74:23
//--- String buffer start ('Failed to write to newly allocated memory
at ') at libgogo/memmgr.go:78:68
-DATA data+336(SB)/1, $70
-DATA data+337(SB)/1, $97
-DATA data+338(SB)/1, $105
-DATA data+339(SB)/1, $108
-DATA data+340(SB)/1, $101
-DATA data+341(SB)/1, $100
-DATA data+342(SB)/1, $32
-DATA data+343(SB)/1, $116
-DATA data+344(SB)/1, $111
-DATA data+345(SB)/1, $32
-DATA data+346(SB)/1, $119
-DATA data+347(SB)/1, $114
-DATA data+348(SB)/1, $105
-DATA data+349(SB)/1, $116
-DATA data+350(SB)/1, $101
-DATA data+351(SB)/1, $32
-DATA data+352(SB)/1, $116
-DATA data+353(SB)/1, $111
-DATA data+354(SB)/1, $32
-DATA data+355(SB)/1, $110
-DATA data+356(SB)/1, $101
-DATA data+357(SB)/1, $119
-DATA data+358(SB)/1, $108
-DATA data+359(SB)/1, $121
-DATA data+360(SB)/1, $32
-DATA data+361(SB)/1, $97
-DATA data+362(SB)/1, $108
-DATA data+363(SB)/1, $108
-DATA data+364(SB)/1, $111
-DATA data+365(SB)/1, $99
-DATA data+366(SB)/1, $97
-DATA data+367(SB)/1, $116
-DATA data+368(SB)/1, $101
-DATA data+369(SB)/1, $100
-DATA data+370(SB)/1, $32
-DATA data+371(SB)/1, $109
-DATA data+372(SB)/1, $101
-DATA data+373(SB)/1, $109
-DATA data+374(SB)/1, $111
-DATA data+375(SB)/1, $114
-DATA data+376(SB)/1, $121
-DATA data+377(SB)/1, $32
-DATA data+378(SB)/1, $97
-DATA data+379(SB)/1, $116
-DATA data+380(SB)/1, $32
-DATA data+381(SB)/1, $0
+DATA data+416(SB)/1, $70
+DATA data+417(SB)/1, $97
+DATA data+418(SB)/1, $105
+DATA data+419(SB)/1, $108
+DATA data+420(SB)/1, $101
+DATA data+421(SB)/1, $100
+DATA data+422(SB)/1, $32
+DATA data+423(SB)/1, $116
+DATA data+424(SB)/1, $111
+DATA data+425(SB)/1, $32
+DATA data+426(SB)/1, $119
+DATA data+427(SB)/1, $114
+DATA data+428(SB)/1, $105
+DATA data+429(SB)/1, $116
+DATA data+430(SB)/1, $101
+DATA data+431(SB)/1, $32
+DATA data+432(SB)/1, $116
+DATA data+433(SB)/1, $111
+DATA data+434(SB)/1, $32
+DATA data+435(SB)/1, $110
+DATA data+436(SB)/1, $101
+DATA data+437(SB)/1, $119
+DATA data+438(SB)/1, $108
+DATA data+439(SB)/1, $121
+DATA data+440(SB)/1, $32
+DATA data+441(SB)/1, $97
+DATA data+442(SB)/1, $108
+DATA data+443(SB)/1, $108
+DATA data+444(SB)/1, $111
+DATA data+445(SB)/1, $99
+DATA data+446(SB)/1, $97
+DATA data+447(SB)/1, $116
+DATA data+448(SB)/1, $101
+DATA data+449(SB)/1, $100
+DATA data+450(SB)/1, $32
+DATA data+451(SB)/1, $109
+DATA data+452(SB)/1, $101
+DATA data+453(SB)/1, $109
+DATA data+454(SB)/1, $111
+DATA data+455(SB)/1, $114
+DATA data+456(SB)/1, $121
+DATA data+457(SB)/1, $32
+DATA data+458(SB)/1, $97
+DATA data+459(SB)/1, $116
+DATA data+460(SB)/1, $32
+DATA data+461(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:78:68
//--- String buffer start ('\n') at libgogo/memmgr.go:80:23
-DATA data+400(SB)/1, $10
-DATA data+401(SB)/1, $0
+DATA data+480(SB)/1, $10
+DATA data+481(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:80:23
//--- String buffer start ('') at libgogo/symbol.go:120:32
-DATA data+496(SB)/1, $0
+DATA data+576(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:120:32
//--- String buffer start ('Object ') at libgogo/symbol.go:402:30
-DATA data+520(SB)/1, $79
-DATA data+521(SB)/1, $98
-DATA data+522(SB)/1, $106
-DATA data+523(SB)/1, $101
-DATA data+524(SB)/1, $99
-DATA data+525(SB)/1, $116
-DATA data+526(SB)/1, $32
-DATA data+527(SB)/1, $0
+DATA data+600(SB)/1, $79
+DATA data+601(SB)/1, $98
+DATA data+602(SB)/1, $106
+DATA data+603(SB)/1, $101
+DATA data+604(SB)/1, $99
+DATA data+605(SB)/1, $116
+DATA data+606(SB)/1, $32
+DATA data+607(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:402:30
//--- String buffer start (' (type: ') at libgogo/symbol.go:409:31
-DATA data+544(SB)/1, $32
-DATA data+545(SB)/1, $40
-DATA data+546(SB)/1, $116
-DATA data+547(SB)/1, $121
-DATA data+548(SB)/1, $112
-DATA data+549(SB)/1, $101
-DATA data+550(SB)/1, $58
-DATA data+551(SB)/1, $32
-DATA data+552(SB)/1, $0
+DATA data+624(SB)/1, $32
+DATA data+625(SB)/1, $40
+DATA data+626(SB)/1, $116
+DATA data+627(SB)/1, $121
+DATA data+628(SB)/1, $112
+DATA data+629(SB)/1, $101
+DATA data+630(SB)/1, $58
+DATA data+631(SB)/1, $32
+DATA data+632(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:409:31
//--- String buffer start ('pointer to ') at libgogo/symbol.go:411:38
-DATA data+576(SB)/1, $112
-DATA data+577(SB)/1, $111
-DATA data+578(SB)/1, $105
-DATA data+579(SB)/1, $110
-DATA data+580(SB)/1, $116
-DATA data+581(SB)/1, $101
-DATA data+582(SB)/1, $114
-DATA data+583(SB)/1, $32
-DATA data+584(SB)/1, $116
-DATA data+585(SB)/1, $111
-DATA data+586(SB)/1, $32
-DATA data+587(SB)/1, $0
+DATA data+656(SB)/1, $112
+DATA data+657(SB)/1, $111
+DATA data+658(SB)/1, $105
+DATA data+659(SB)/1, $110
+DATA data+660(SB)/1, $116
+DATA data+661(SB)/1, $101
+DATA data+662(SB)/1, $114
+DATA data+663(SB)/1, $32
+DATA data+664(SB)/1, $116
+DATA data+665(SB)/1, $111
+DATA data+666(SB)/1, $32
+DATA data+667(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:411:38
//--- String buffer start ('array of ') at libgogo/symbol.go:415:40
-DATA data+608(SB)/1, $97
-DATA data+609(SB)/1, $114
-DATA data+610(SB)/1, $114
-DATA data+611(SB)/1, $97
-DATA data+612(SB)/1, $121
-DATA data+613(SB)/1, $32
-DATA data+614(SB)/1, $111
-DATA data+615(SB)/1, $102
-DATA data+616(SB)/1, $32
-DATA data+617(SB)/1, $0
+DATA data+688(SB)/1, $97
+DATA data+689(SB)/1, $114
+DATA data+690(SB)/1, $114
+DATA data+691(SB)/1, $97
+DATA data+692(SB)/1, $121
+DATA data+693(SB)/1, $32
+DATA data+694(SB)/1, $111
+DATA data+695(SB)/1, $102
+DATA data+696(SB)/1, $32
+DATA data+697(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:415:40
//--- String buffer start (' of length ') at libgogo/symbol.go:417:42
-DATA data+640(SB)/1, $32
-DATA data+641(SB)/1, $111
-DATA data+642(SB)/1, $102
-DATA data+643(SB)/1, $32
-DATA data+644(SB)/1, $108
-DATA data+645(SB)/1, $101
-DATA data+646(SB)/1, $110
-DATA data+647(SB)/1, $103
-DATA data+648(SB)/1, $116
-DATA data+649(SB)/1, $104
-DATA data+650(SB)/1, $32
-DATA data+651(SB)/1, $0
+DATA data+720(SB)/1, $32
+DATA data+721(SB)/1, $111
+DATA data+722(SB)/1, $102
+DATA data+723(SB)/1, $32
+DATA data+724(SB)/1, $108
+DATA data+725(SB)/1, $101
+DATA data+726(SB)/1, $110
+DATA data+727(SB)/1, $103
+DATA data+728(SB)/1, $116
+DATA data+729(SB)/1, $104
+DATA data+730(SB)/1, $32
+DATA data+731(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:417:42
//--- String buffer start (', internally named ') at
libgogo/symbol.go:419:50
-DATA data+672(SB)/1, $44
-DATA data+673(SB)/1, $32
-DATA data+674(SB)/1, $105
-DATA data+675(SB)/1, $110
-DATA data+676(SB)/1, $116
-DATA data+677(SB)/1, $101
-DATA data+678(SB)/1, $114
-DATA data+679(SB)/1, $110
-DATA data+680(SB)/1, $97
-DATA data+681(SB)/1, $108
-DATA data+682(SB)/1, $108
-DATA data+683(SB)/1, $121
-DATA data+684(SB)/1, $32
-DATA data+685(SB)/1, $110
-DATA data+686(SB)/1, $97
-DATA data+687(SB)/1, $109
-DATA data+688(SB)/1, $101
-DATA data+689(SB)/1, $100
-DATA data+690(SB)/1, $32
-DATA data+691(SB)/1, $0
+DATA data+752(SB)/1, $44
+DATA data+753(SB)/1, $32
+DATA data+754(SB)/1, $105
+DATA data+755(SB)/1, $110
+DATA data+756(SB)/1, $116
+DATA data+757(SB)/1, $101
+DATA data+758(SB)/1, $114
+DATA data+759(SB)/1, $110
+DATA data+760(SB)/1, $97
+DATA data+761(SB)/1, $108
+DATA data+762(SB)/1, $108
+DATA data+763(SB)/1, $121
+DATA data+764(SB)/1, $32
+DATA data+765(SB)/1, $110
+DATA data+766(SB)/1, $97
+DATA data+767(SB)/1, $109
+DATA data+768(SB)/1, $101
+DATA data+769(SB)/1, $100
+DATA data+770(SB)/1, $32
+DATA data+771(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:419:50
//--- String buffer start ('<unknown>') at libgogo/symbol.go:428:36
-DATA data+712(SB)/1, $60
-DATA data+713(SB)/1, $117
-DATA data+714(SB)/1, $110
-DATA data+715(SB)/1, $107
-DATA data+716(SB)/1, $110
-DATA data+717(SB)/1, $111
-DATA data+718(SB)/1, $119
-DATA data+719(SB)/1, $110
-DATA data+720(SB)/1, $62
-DATA data+721(SB)/1, $0
+DATA data+792(SB)/1, $60
+DATA data+793(SB)/1, $117
+DATA data+794(SB)/1, $110
+DATA data+795(SB)/1, $107
+DATA data+796(SB)/1, $110
+DATA data+797(SB)/1, $111
+DATA data+798(SB)/1, $119
+DATA data+799(SB)/1, $110
+DATA data+800(SB)/1, $62
+DATA data+801(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:428:36
//--- String buffer start (', size: ') at libgogo/symbol.go:430:31
-DATA data+744(SB)/1, $44
-DATA data+745(SB)/1, $32
-DATA data+746(SB)/1, $115
-DATA data+747(SB)/1, $105
-DATA data+748(SB)/1, $122
-DATA data+749(SB)/1, $101
-DATA data+750(SB)/1, $58
-DATA data+751(SB)/1, $32
-DATA data+752(SB)/1, $0
+DATA data+824(SB)/1, $44
+DATA data+825(SB)/1, $32
+DATA data+826(SB)/1, $115
+DATA data+827(SB)/1, $105
+DATA data+828(SB)/1, $122
+DATA data+829(SB)/1, $101
+DATA data+830(SB)/1, $58
+DATA data+831(SB)/1, $32
+DATA data+832(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:430:31
//--- String buffer start (', offset: ') at libgogo/symbol.go:433:33
-DATA data+776(SB)/1, $44
-DATA data+777(SB)/1, $32
-DATA data+778(SB)/1, $111
-DATA data+779(SB)/1, $102
-DATA data+780(SB)/1, $102
-DATA data+781(SB)/1, $115
-DATA data+782(SB)/1, $101
-DATA data+783(SB)/1, $116
-DATA data+784(SB)/1, $58
-DATA data+785(SB)/1, $32
-DATA data+786(SB)/1, $0
+DATA data+856(SB)/1, $44
+DATA data+857(SB)/1, $32
+DATA data+858(SB)/1, $111
+DATA data+859(SB)/1, $102
+DATA data+860(SB)/1, $102
+DATA data+861(SB)/1, $115
+DATA data+862(SB)/1, $101
+DATA data+863(SB)/1, $116
+DATA data+864(SB)/1, $58
+DATA data+865(SB)/1, $32
+DATA data+866(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:433:33
//--- String buffer start (')\n') at libgogo/symbol.go:436:26
-DATA data+808(SB)/1, $41
-DATA data+809(SB)/1, $10
-DATA data+810(SB)/1, $0
+DATA data+888(SB)/1, $41
+DATA data+889(SB)/1, $10
+DATA data+890(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:436:26
//--- String buffer start ('Type ') at libgogo/symbol.go:449:28
-DATA data+832(SB)/1, $84
-DATA data+833(SB)/1, $121
-DATA data+834(SB)/1, $112
-DATA data+835(SB)/1, $101
-DATA data+836(SB)/1, $32
-DATA data+837(SB)/1, $0
+DATA data+912(SB)/1, $84
+DATA data+913(SB)/1, $121
+DATA data+914(SB)/1, $112
+DATA data+915(SB)/1, $101
+DATA data+916(SB)/1, $32
+DATA data+917(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:449:28
//--- String buffer start (' (size: ') at libgogo/symbol.go:456:31
-DATA data+856(SB)/1, $32
-DATA data+857(SB)/1, $40
-DATA data+858(SB)/1, $115
-DATA data+859(SB)/1, $105
-DATA data+860(SB)/1, $122
-DATA data+861(SB)/1, $101
-DATA data+862(SB)/1, $58
-DATA data+863(SB)/1, $32
-DATA data+864(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:456:31
-//--- String buffer start (')\n') at libgogo/symbol.go:459:26
-DATA data+888(SB)/1, $41
-DATA data+889(SB)/1, $10
-DATA data+890(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:459:26
-//--- String buffer start (' ') at libgogo/symbol.go:461:29
-DATA data+912(SB)/1, $32
-DATA data+913(SB)/1, $32
-DATA data+914(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:461:29
-//--- String buffer start (' (type: ') at libgogo/symbol.go:463:35
DATA data+936(SB)/1, $32
DATA data+937(SB)/1, $40
-DATA data+938(SB)/1, $116
-DATA data+939(SB)/1, $121
-DATA data+940(SB)/1, $112
+DATA data+938(SB)/1, $115
+DATA data+939(SB)/1, $105
+DATA data+940(SB)/1, $122
DATA data+941(SB)/1, $101
DATA data+942(SB)/1, $58
DATA data+943(SB)/1, $32
DATA data+944(SB)/1, $0
+//--- String buffer end at libgogo/symbol.go:456:31
+//--- String buffer start (')\n') at libgogo/symbol.go:459:26
+DATA data+968(SB)/1, $41
+DATA data+969(SB)/1, $10
+DATA data+970(SB)/1, $0
+//--- String buffer end at libgogo/symbol.go:459:26
+//--- String buffer start (' ') at libgogo/symbol.go:461:29
+DATA data+992(SB)/1, $32
+DATA data+993(SB)/1, $32
+DATA data+994(SB)/1, $0
+//--- String buffer end at libgogo/symbol.go:461:29
+//--- String buffer start (' (type: ') at libgogo/symbol.go:463:35
+DATA data+1016(SB)/1, $32
+DATA data+1017(SB)/1, $40
+DATA data+1018(SB)/1, $116
+DATA data+1019(SB)/1, $121
+DATA data+1020(SB)/1, $112
+DATA data+1021(SB)/1, $101
+DATA data+1022(SB)/1, $58
+DATA data+1023(SB)/1, $32
+DATA data+1024(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:463:35
//--- String buffer start ('pointer to ') at libgogo/symbol.go:465:42
-DATA data+968(SB)/1, $112
-DATA data+969(SB)/1, $111
-DATA data+970(SB)/1, $105
-DATA data+971(SB)/1, $110
-DATA data+972(SB)/1, $116
-DATA data+973(SB)/1, $101
-DATA data+974(SB)/1, $114
-DATA data+975(SB)/1, $32
-DATA data+976(SB)/1, $116
-DATA data+977(SB)/1, $111
-DATA data+978(SB)/1, $32
-DATA data+979(SB)/1, $0
+DATA data+1048(SB)/1, $112
+DATA data+1049(SB)/1, $111
+DATA data+1050(SB)/1, $105
+DATA data+1051(SB)/1, $110
+DATA data+1052(SB)/1, $116
+DATA data+1053(SB)/1, $101
+DATA data+1054(SB)/1, $114
+DATA data+1055(SB)/1, $32
+DATA data+1056(SB)/1, $116
+DATA data+1057(SB)/1, $111
+DATA data+1058(SB)/1, $32
+DATA data+1059(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:465:42
//--- String buffer start ('array of ') at libgogo/symbol.go:469:44
-DATA data+1000(SB)/1, $97
-DATA data+1001(SB)/1, $114
-DATA data+1002(SB)/1, $114
-DATA data+1003(SB)/1, $97
-DATA data+1004(SB)/1, $121
-DATA data+1005(SB)/1, $32
-DATA data+1006(SB)/1, $111
-DATA data+1007(SB)/1, $102
-DATA data+1008(SB)/1, $32
-DATA data+1009(SB)/1, $0
+DATA data+1080(SB)/1, $97
+DATA data+1081(SB)/1, $114
+DATA data+1082(SB)/1, $114
+DATA data+1083(SB)/1, $97
+DATA data+1084(SB)/1, $121
+DATA data+1085(SB)/1, $32
+DATA data+1086(SB)/1, $111
+DATA data+1087(SB)/1, $102
+DATA data+1088(SB)/1, $32
+DATA data+1089(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:469:44
//--- String buffer start (' of length ') at libgogo/symbol.go:471:46
-DATA data+1032(SB)/1, $32
-DATA data+1033(SB)/1, $111
-DATA data+1034(SB)/1, $102
-DATA data+1035(SB)/1, $32
-DATA data+1036(SB)/1, $108
-DATA data+1037(SB)/1, $101
-DATA data+1038(SB)/1, $110
-DATA data+1039(SB)/1, $103
-DATA data+1040(SB)/1, $116
-DATA data+1041(SB)/1, $104
-DATA data+1042(SB)/1, $32
-DATA data+1043(SB)/1, $0
+DATA data+1112(SB)/1, $32
+DATA data+1113(SB)/1, $111
+DATA data+1114(SB)/1, $102
+DATA data+1115(SB)/1, $32
+DATA data+1116(SB)/1, $108
+DATA data+1117(SB)/1, $101
+DATA data+1118(SB)/1, $110
+DATA data+1119(SB)/1, $103
+DATA data+1120(SB)/1, $116
+DATA data+1121(SB)/1, $104
+DATA data+1122(SB)/1, $32
+DATA data+1123(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:471:46
//--- String buffer start (', internally named ') at
libgogo/symbol.go:473:54
-DATA data+1064(SB)/1, $44
-DATA data+1065(SB)/1, $32
-DATA data+1066(SB)/1, $105
-DATA data+1067(SB)/1, $110
-DATA data+1068(SB)/1, $116
-DATA data+1069(SB)/1, $101
-DATA data+1070(SB)/1, $114
-DATA data+1071(SB)/1, $110
-DATA data+1072(SB)/1, $97
-DATA data+1073(SB)/1, $108
-DATA data+1074(SB)/1, $108
-DATA data+1075(SB)/1, $121
-DATA data+1076(SB)/1, $32
-DATA data+1077(SB)/1, $110
-DATA data+1078(SB)/1, $97
-DATA data+1079(SB)/1, $109
-DATA data+1080(SB)/1, $101
-DATA data+1081(SB)/1, $100
-DATA data+1082(SB)/1, $32
-DATA data+1083(SB)/1, $0
+DATA data+1144(SB)/1, $44
+DATA data+1145(SB)/1, $32
+DATA data+1146(SB)/1, $105
+DATA data+1147(SB)/1, $110
+DATA data+1148(SB)/1, $116
+DATA data+1149(SB)/1, $101
+DATA data+1150(SB)/1, $114
+DATA data+1151(SB)/1, $110
+DATA data+1152(SB)/1, $97
+DATA data+1153(SB)/1, $108
+DATA data+1154(SB)/1, $108
+DATA data+1155(SB)/1, $121
+DATA data+1156(SB)/1, $32
+DATA data+1157(SB)/1, $110
+DATA data+1158(SB)/1, $97
+DATA data+1159(SB)/1, $109
+DATA data+1160(SB)/1, $101
+DATA data+1161(SB)/1, $100
+DATA data+1162(SB)/1, $32
+DATA data+1163(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:473:54
//--- String buffer start ('<unknown>') at libgogo/symbol.go:482:40
-DATA data+1104(SB)/1, $60
-DATA data+1105(SB)/1, $117
-DATA data+1106(SB)/1, $110
-DATA data+1107(SB)/1, $107
-DATA data+1108(SB)/1, $110
-DATA data+1109(SB)/1, $111
-DATA data+1110(SB)/1, $119
-DATA data+1111(SB)/1, $110
-DATA data+1112(SB)/1, $62
-DATA data+1113(SB)/1, $0
+DATA data+1184(SB)/1, $60
+DATA data+1185(SB)/1, $117
+DATA data+1186(SB)/1, $110
+DATA data+1187(SB)/1, $107
+DATA data+1188(SB)/1, $110
+DATA data+1189(SB)/1, $111
+DATA data+1190(SB)/1, $119
+DATA data+1191(SB)/1, $110
+DATA data+1192(SB)/1, $62
+DATA data+1193(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:482:40
//--- String buffer start (', size: ') at libgogo/symbol.go:484:35
-DATA data+1136(SB)/1, $44
-DATA data+1137(SB)/1, $32
-DATA data+1138(SB)/1, $115
-DATA data+1139(SB)/1, $105
-DATA data+1140(SB)/1, $122
-DATA data+1141(SB)/1, $101
-DATA data+1142(SB)/1, $58
-DATA data+1143(SB)/1, $32
-DATA data+1144(SB)/1, $0
+DATA data+1216(SB)/1, $44
+DATA data+1217(SB)/1, $32
+DATA data+1218(SB)/1, $115
+DATA data+1219(SB)/1, $105
+DATA data+1220(SB)/1, $122
+DATA data+1221(SB)/1, $101
+DATA data+1222(SB)/1, $58
+DATA data+1223(SB)/1, $32
+DATA data+1224(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:484:35
//--- String buffer start (', offset: ') at libgogo/symbol.go:487:37
-DATA data+1168(SB)/1, $44
-DATA data+1169(SB)/1, $32
-DATA data+1170(SB)/1, $111
-DATA data+1171(SB)/1, $102
-DATA data+1172(SB)/1, $102
-DATA data+1173(SB)/1, $115
-DATA data+1174(SB)/1, $101
-DATA data+1175(SB)/1, $116
-DATA data+1176(SB)/1, $58
-DATA data+1177(SB)/1, $32
-DATA data+1178(SB)/1, $0
+DATA data+1248(SB)/1, $44
+DATA data+1249(SB)/1, $32
+DATA data+1250(SB)/1, $111
+DATA data+1251(SB)/1, $102
+DATA data+1252(SB)/1, $102
+DATA data+1253(SB)/1, $115
+DATA data+1254(SB)/1, $101
+DATA data+1255(SB)/1, $116
+DATA data+1256(SB)/1, $58
+DATA data+1257(SB)/1, $32
+DATA data+1258(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:487:37
//--- String buffer start (')\n') at libgogo/symbol.go:490:30
-DATA data+1200(SB)/1, $41
-DATA data+1201(SB)/1, $10
-DATA data+1202(SB)/1, $0
+DATA data+1280(SB)/1, $41
+DATA data+1281(SB)/1, $10
+DATA data+1282(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:490:30
//--- String buffer start ('Function ') at libgogo/symbol.go:504:32
-DATA data+1224(SB)/1, $70
-DATA data+1225(SB)/1, $117
-DATA data+1226(SB)/1, $110
-DATA data+1227(SB)/1, $99
-DATA data+1228(SB)/1, $116
-DATA data+1229(SB)/1, $105
-DATA data+1230(SB)/1, $111
-DATA data+1231(SB)/1, $110
-DATA data+1232(SB)/1, $32
-DATA data+1233(SB)/1, $0
+DATA data+1304(SB)/1, $70
+DATA data+1305(SB)/1, $117
+DATA data+1306(SB)/1, $110
+DATA data+1307(SB)/1, $99
+DATA data+1308(SB)/1, $116
+DATA data+1309(SB)/1, $105
+DATA data+1310(SB)/1, $111
+DATA data+1311(SB)/1, $110
+DATA data+1312(SB)/1, $32
+DATA data+1313(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:504:32
//--- String buffer start (' (number of parameters: ') at
libgogo/symbol.go:508:47
-DATA data+1256(SB)/1, $32
-DATA data+1257(SB)/1, $40
-DATA data+1258(SB)/1, $110
-DATA data+1259(SB)/1, $117
-DATA data+1260(SB)/1, $109
-DATA data+1261(SB)/1, $98
-DATA data+1262(SB)/1, $101
-DATA data+1263(SB)/1, $114
-DATA data+1264(SB)/1, $32
-DATA data+1265(SB)/1, $111
-DATA data+1266(SB)/1, $102
-DATA data+1267(SB)/1, $32
-DATA data+1268(SB)/1, $112
-DATA data+1269(SB)/1, $97
-DATA data+1270(SB)/1, $114
-DATA data+1271(SB)/1, $97
-DATA data+1272(SB)/1, $109
-DATA data+1273(SB)/1, $101
-DATA data+1274(SB)/1, $116
-DATA data+1275(SB)/1, $101
-DATA data+1276(SB)/1, $114
-DATA data+1277(SB)/1, $115
-DATA data+1278(SB)/1, $58
-DATA data+1279(SB)/1, $32
-DATA data+1280(SB)/1, $0
+DATA data+1336(SB)/1, $32
+DATA data+1337(SB)/1, $40
+DATA data+1338(SB)/1, $110
+DATA data+1339(SB)/1, $117
+DATA data+1340(SB)/1, $109
+DATA data+1341(SB)/1, $98
+DATA data+1342(SB)/1, $101
+DATA data+1343(SB)/1, $114
+DATA data+1344(SB)/1, $32
+DATA data+1345(SB)/1, $111
+DATA data+1346(SB)/1, $102
+DATA data+1347(SB)/1, $32
+DATA data+1348(SB)/1, $112
+DATA data+1349(SB)/1, $97
+DATA data+1350(SB)/1, $114
+DATA data+1351(SB)/1, $97
+DATA data+1352(SB)/1, $109
+DATA data+1353(SB)/1, $101
+DATA data+1354(SB)/1, $116
+DATA data+1355(SB)/1, $101
+DATA data+1356(SB)/1, $114
+DATA data+1357(SB)/1, $115
+DATA data+1358(SB)/1, $58
+DATA data+1359(SB)/1, $32
+DATA data+1360(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:508:47
***The diff for this file has been truncated for email.***
=======================================
--- /src/libgogo/string.go Sat Jun 19 11:30:38 2010
+++ /src/libgogo/string.go Sat Jun 19 12:06:20 2010
@@ -148,6 +148,6 @@
append_addr = GetStringAddress(&append_str);
CopyMem(append_addr, new_addr + strlen, strappendlen); //Copy the
second string to its according position at the end of the new string
nullByte_addr = ToUint64FromBytePtr(&nullByte);
- CopyMem(nullByte_addr, new_addr + strlen + strappendlen + 1, 1);
//Append the end of string constant
+ CopyMem(nullByte_addr, new_addr + strlen + strappendlen, 1); //Append
the end of string constant
SetStringAddressAndLength(str, new_addr, new_length); //Update the
string in order to point to the new character sequence with the new length
}

==============================================================================
Revision: d29530e41b
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 00:26:19 2010
Log: asm_out.go: Fixed semantic bug when dereferring byte values from into
the same register the its address is in; IntToString now works (added for
reference)
http://code.google.com/p/gogc/source/detail?r=d29530e41b

Added:
/src/test.go
Modified:
/src/_gogo_.sog
/src/asm_out.go
/src/compile_lib

=======================================
--- /dev/null
+++ /src/test.go Sun Jun 20 00:26:19 2010
@@ -0,0 +1,10 @@
+package main
+
+func main() {
+ var x string = "";
+ libgogo.StringAppend(&x, "Hello");
+ libgogo.StringAppend(&x, " world!\n");
+ libgogo.PrintString(x);
+ libgogo.PrintNumber(123);
+ libgogo.PrintChar('\n');
+}
=======================================
--- /src/_gogo_.sog Sat Jun 19 12:06:20 2010
+++ /src/_gogo_.sog Sun Jun 20 00:26:19 2010
@@ -22,8 +22,10 @@
//TYPE,0,libgogo·Item,72,72
//FUNC,0,main·init
//FUNC,0,main·main
-//FUNC,1,main·StringAppend,Artificial parameter:*·string,Artificial
parameter:·string
-//FUNC,1,main·PrintString,Artificial parameter:·string
+//FUNC,0,libgogo·StringAppend,str:*·string,append_str:·string
+//FUNC,0,libgogo·PrintString,msg:·string
+//FUNC,0,libgogo·PrintNumber,num:·uint64
+//FUNC,0,libgogo·PrintChar,char:·byte
//FUNC,0,libgogo·ToIntFromByte,b:·byte,return value:·uint64
//FUNC,0,libgogo·ToByteFromInt,i:·uint64,return value:·byte
//FUNC,0,libgogo·ToUint64FromBytePtr,char:*·byte,return value:·uint64
@@ -37,9 +39,6 @@
//FUNC,0,libgogo·CharAppend,str:*·string,char:·byte
//FUNC,0,libgogo·Write,fd:·uint64,text:·string,length:·uint64,return
value:·uint64
//FUNC,0,libgogo·WriteString,fd:·uint64,msg:·string
-//FUNC,0,libgogo·PrintString,msg:·string
-//FUNC,0,libgogo·PrintChar,char:·byte
-//FUNC,0,libgogo·PrintNumber,num:·uint64
//FUNC,0,libgogo·Read,fd:·uint64,buffer:·string,buffer_size:·uint64,return
value:·uint64
//FUNC,0,libgogo·GetChar,fd:·uint64,return value:·byte
//FUNC,0,libgogo·FileOpen,filename:·string,flags:·uint64,return
value:·uint64
@@ -93,7 +92,6 @@
//FUNC,0,libgogo·PrintTypes,list:*libgogo·TypeDesc
//FUNC,0,libgogo·PrintFunctions,list:*libgogo·TypeDesc

//FUNC,0,libgogo·SymbolTableFunctionsToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
-//FUNC,0,libgogo·StringAppend,str:*·string,append_str:·string

//FUNC,0,libgogo·SymbolTableTypesToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
//FUNC,0,libgogo·StringLength2,str:*·string,return value:·uint64
//FUNC,0,libgogo·GetStringAddress,str:*·string,return value:·uint64
@@ -111,15 +109,15 @@
//--- String buffer start ('') at test.go:4:22
DATA data+8(SB)/1, $0
//--- String buffer end at test.go:4:22
-//--- String buffer start ('Hello') at test.go:5:29
+//--- String buffer start ('Hello') at test.go:5:37
DATA data+32(SB)/1, $72
DATA data+33(SB)/1, $101
DATA data+34(SB)/1, $108
DATA data+35(SB)/1, $108
DATA data+36(SB)/1, $111
DATA data+37(SB)/1, $0
-//--- String buffer end at test.go:5:29
-//--- String buffer start (' world!\n') at test.go:6:33
+//--- String buffer end at test.go:5:37
+//--- String buffer start (' world!\n') at test.go:6:41
DATA data+56(SB)/1, $32
DATA data+57(SB)/1, $119
DATA data+58(SB)/1, $111
@@ -129,7 +127,7 @@
DATA data+62(SB)/1, $33
DATA data+63(SB)/1, $10
DATA data+64(SB)/1, $0
-//--- String buffer end at test.go:6:33
+//--- String buffer end at test.go:6:41
//--- String buffer start ('') at libgogo/convert.go:74:24
DATA data+88(SB)/1, $0
//--- String buffer end at libgogo/convert.go:74:24
@@ -1005,20 +1003,20 @@
//--- Assign string length to new string constant start at test.go:4:22
MOVQ $0, data+24(SB)
//--- Assign string length to new string constant end at test.go:4:22
- //--- Assign byte buffer to new string constant start at test.go:5:29
+ //--- Assign byte buffer to new string constant start at test.go:5:37
LEAQ data+32(SB), R8
MOVQ R8, data+40(SB)
- //--- Assign byte buffer to new string constant end at test.go:5:29
- //--- Assign string length to new string constant start at test.go:5:29
+ //--- Assign byte buffer to new string constant end at test.go:5:37
+ //--- Assign string length to new string constant start at test.go:5:37
MOVQ $5, data+48(SB)
- //--- Assign string length to new string constant end at test.go:5:29
- //--- Assign byte buffer to new string constant start at test.go:6:33
+ //--- Assign string length to new string constant end at test.go:5:37
+ //--- Assign byte buffer to new string constant start at test.go:6:41
LEAQ data+56(SB), R8
MOVQ R8, data+72(SB)
- //--- Assign byte buffer to new string constant end at test.go:6:33
- //--- Assign string length to new string constant start at test.go:6:33
+ //--- Assign byte buffer to new string constant end at test.go:6:41
+ //--- Assign string length to new string constant start at test.go:6:41
MOVQ $8, data+80(SB)
- //--- Assign string length to new string constant end at test.go:6:33
+ //--- Assign string length to new string constant end at test.go:6:41
//--- Assign byte buffer to new string constant start at
libgogo/convert.go:74:24
LEAQ data+88(SB), R8
MOVQ R8, data+96(SB)
@@ -1608,89 +1606,127 @@
MOVQ R8, -16(SP)
MOVQ R9, -8(SP)
//--- Local variable assignment end at test.go:4:23
- //--- Saving registers before function call start at test.go:5:20
- //--- Saving registers before function call end at test.go:5:20
- //--- First parameter expression start at test.go:5:20
- //--- First parameter expression load start at test.go:5:20
- //--- First parameter expression load end at test.go:5:21
+ //--- Saving registers before function call start at test.go:5:28
+ //--- Saving registers before function call end at test.go:5:28
+ //--- First parameter expression start at test.go:5:28
+ //--- First parameter expression load start at test.go:5:28
+ //--- First parameter expression load end at test.go:5:29
LEAQ -16(SP), R8
- //--- ##1##main·StringAppend## at test.go:5:21
+ //--- ##1##libgogo·StringAppend## at test.go:5:29
MOVQ R8, -100016(SP)
- //--- First parameter expression end at test.go:5:21
- //--- Subsequent parameter expression start at test.go:5:21
- //--- Subsequent parameter expression load start at test.go:5:21
- //--- Subsequent parameter expression load end at test.go:5:30
+ //--- First parameter expression end at test.go:5:29
+ //--- Subsequent parameter expression start at test.go:5:29
+ //--- Subsequent parameter expression load start at test.go:5:29
+ //--- Subsequent parameter expression load end at test.go:5:38
MOVQ data+40(SB), R8
MOVQ data+48(SB), R9
- //--- ##1##main·StringAppend## at test.go:5:30
+ //--- ##1##libgogo·StringAppend## at test.go:5:38
MOVQ R8, -100008(SP)
- //--- ##1##main·StringAppend## at test.go:5:30
+ //--- ##1##libgogo·StringAppend## at test.go:5:38
MOVQ R9, -100000(SP)
- //--- Subsequent parameter expression end at test.go:5:30
- //--- Stack pointer offset before function call for local variables
start at test.go:5:30
- //--- ##2##main·StringAppend## at test.go:5:30
+ //--- Subsequent parameter expression end at test.go:5:38
+ //--- Stack pointer offset before function call for local variables
start at test.go:5:38
+ //--- ##2##libgogo·StringAppend## at test.go:5:38
SUBQ $16, SP
- //--- Stack pointer offset before function call for local variables end
at test.go:5:30
- CALL main·StringAppend(SB)
- //--- Stack pointer offset after function call for local variables start
at test.go:5:30
- //--- ##2##main·StringAppend## at test.go:5:30
+ //--- Stack pointer offset before function call for local variables end
at test.go:5:38
+ CALL libgogo·StringAppend(SB)
+ //--- Stack pointer offset after function call for local variables start
at test.go:5:38
+ //--- ##2##libgogo·StringAppend## at test.go:5:38
ADDQ $16, SP
- //--- Stack pointer offset after function call for local variables end
at test.go:5:30
- //--- Restoring registers after function call start at test.go:5:30
- //--- Restoring registers after function call end at test.go:5:30
- //--- Saving registers before function call start at test.go:6:20
- //--- Saving registers before function call end at test.go:6:20
- //--- First parameter expression start at test.go:6:20
- //--- First parameter expression load start at test.go:6:20
- //--- First parameter expression load end at test.go:6:21
+ //--- Stack pointer offset after function call for local variables end
at test.go:5:38
+ //--- Restoring registers after function call start at test.go:5:38
+ //--- Restoring registers after function call end at test.go:5:38
+ //--- Saving registers before function call start at test.go:6:28
+ //--- Saving registers before function call end at test.go:6:28
+ //--- First parameter expression start at test.go:6:28
+ //--- First parameter expression load start at test.go:6:28
+ //--- First parameter expression load end at test.go:6:29
LEAQ -16(SP), R8
- //--- ##1##main·StringAppend## at test.go:6:21
+ //--- ##1##libgogo·StringAppend## at test.go:6:29
MOVQ R8, -100016(SP)
- //--- First parameter expression end at test.go:6:21
- //--- Subsequent parameter expression start at test.go:6:21
- //--- Subsequent parameter expression load start at test.go:6:21
- //--- Subsequent parameter expression load end at test.go:6:34
+ //--- First parameter expression end at test.go:6:29
+ //--- Subsequent parameter expression start at test.go:6:29
+ //--- Subsequent parameter expression load start at test.go:6:29
+ //--- Subsequent parameter expression load end at test.go:6:42
MOVQ data+72(SB), R8
MOVQ data+80(SB), R9
- //--- ##1##main·StringAppend## at test.go:6:34
+ //--- ##1##libgogo·StringAppend## at test.go:6:42
MOVQ R8, -100008(SP)
- //--- ##1##main·StringAppend## at test.go:6:34
+ //--- ##1##libgogo·StringAppend## at test.go:6:42
MOVQ R9, -100000(SP)
- //--- Subsequent parameter expression end at test.go:6:34
- //--- Stack pointer offset before function call for local variables
start at test.go:6:34
- //--- ##2##main·StringAppend## at test.go:6:34
+ //--- Subsequent parameter expression end at test.go:6:42
+ //--- Stack pointer offset before function call for local variables
start at test.go:6:42
+ //--- ##2##libgogo·StringAppend## at test.go:6:42
SUBQ $16, SP
- //--- Stack pointer offset before function call for local variables end
at test.go:6:34
- CALL main·StringAppend(SB)
- //--- Stack pointer offset after function call for local variables start
at test.go:6:34
- //--- ##2##main·StringAppend## at test.go:6:34
+ //--- Stack pointer offset before function call for local variables end
at test.go:6:42
+ CALL libgogo·StringAppend(SB)
+ //--- Stack pointer offset after function call for local variables start
at test.go:6:42
+ //--- ##2##libgogo·StringAppend## at test.go:6:42
ADDQ $16, SP
- //--- Stack pointer offset after function call for local variables end
at test.go:6:34
- //--- Restoring registers after function call start at test.go:6:34
- //--- Restoring registers after function call end at test.go:6:34
- //--- Saving registers before function call start at test.go:7:19
- //--- Saving registers before function call end at test.go:7:19
- //--- First parameter expression start at test.go:7:19
- //--- First parameter expression load start at test.go:7:19
- //--- First parameter expression load end at test.go:7:19
+ //--- Stack pointer offset after function call for local variables end
at test.go:6:42
+ //--- Restoring registers after function call start at test.go:6:42
+ //--- Restoring registers after function call end at test.go:6:42
+ //--- Saving registers before function call start at test.go:7:27
+ //--- Saving registers before function call end at test.go:7:27
+ //--- First parameter expression start at test.go:7:27
+ //--- First parameter expression load start at test.go:7:27
+ //--- First parameter expression load end at test.go:7:27
MOVQ -16(SP), R8
MOVQ -8(SP), R9
- //--- ##1##main·PrintString## at test.go:7:19
+ //--- ##1##libgogo·PrintString## at test.go:7:27
MOVQ R8, -100016(SP)
- //--- ##1##main·PrintString## at test.go:7:19
+ //--- ##1##libgogo·PrintString## at test.go:7:27
MOVQ R9, -100008(SP)
- //--- First parameter expression end at test.go:7:19
- //--- Stack pointer offset before function call for local variables
start at test.go:7:19
- //--- ##2##main·PrintString## at test.go:7:19
+ //--- First parameter expression end at test.go:7:27
+ //--- Stack pointer offset before function call for local variables
start at test.go:7:27
+ //--- ##2##libgogo·PrintString## at test.go:7:27
SUBQ $16, SP
- //--- Stack pointer offset before function call for local variables end
at test.go:7:19
- CALL main·PrintString(SB)
- //--- Stack pointer offset after function call for local variables start
at test.go:7:19
- //--- ##2##main·PrintString## at test.go:7:19
+ //--- Stack pointer offset before function call for local variables end
at test.go:7:27
+ CALL libgogo·PrintString(SB)
+ //--- Stack pointer offset after function call for local variables start
at test.go:7:27
+ //--- ##2##libgogo·PrintString## at test.go:7:27
ADDQ $16, SP
- //--- Stack pointer offset after function call for local variables end
at test.go:7:19
- //--- Restoring registers after function call start at test.go:7:19
- //--- Restoring registers after function call end at test.go:7:19
+ //--- Stack pointer offset after function call for local variables end
at test.go:7:27
+ //--- Restoring registers after function call start at test.go:7:27
+ //--- Restoring registers after function call end at test.go:7:27
+ //--- Saving registers before function call start at test.go:8:29
+ //--- Saving registers before function call end at test.go:8:29
+ //--- First parameter expression start at test.go:8:29
+ //--- First parameter expression load start at test.go:8:29
+ //--- First parameter expression load end at test.go:8:29
+ //--- ##1##libgogo·PrintNumber## at test.go:8:29
+ MOVB $123, -100016(SP)
+ //--- First parameter expression end at test.go:8:29
+ //--- Stack pointer offset before function call for local variables
start at test.go:8:29
+ //--- ##2##libgogo·PrintNumber## at test.go:8:29
+ SUBQ $16, SP
+ //--- Stack pointer offset before function call for local variables end
at test.go:8:29
+ CALL libgogo·PrintNumber(SB)
+ //--- Stack pointer offset after function call for local variables start
at test.go:8:29
+ //--- ##2##libgogo·PrintNumber## at test.go:8:29
+ ADDQ $16, SP
+ //--- Stack pointer offset after function call for local variables end
at test.go:8:29
+ //--- Restoring registers after function call start at test.go:8:29
+ //--- Restoring registers after function call end at test.go:8:29
+ //--- Saving registers before function call start at test.go:9:27
+ //--- Saving registers before function call end at test.go:9:27
+ //--- First parameter expression start at test.go:9:27
+ //--- First parameter expression load start at test.go:9:27
+ //--- First parameter expression load end at test.go:9:28
+ //--- ##1##libgogo·PrintChar## at test.go:9:28
+ MOVB $10, -100016(SP)
+ //--- First parameter expression end at test.go:9:28
+ //--- Stack pointer offset before function call for local variables
start at test.go:9:28
+ //--- ##2##libgogo·PrintChar## at test.go:9:28
+ SUBQ $16, SP
+ //--- Stack pointer offset before function call for local variables end
at test.go:9:28
+ CALL libgogo·PrintChar(SB)
+ //--- Stack pointer offset after function call for local variables start
at test.go:9:28
+ //--- ##2##libgogo·PrintChar## at test.go:9:28
+ ADDQ $16, SP
+ //--- Stack pointer offset after function call for local variables end
at test.go:9:28
+ //--- Restoring registers after function call start at test.go:9:28
+ //--- Restoring registers after function call end at test.go:9:28
RET

TEXT libgogo·StringToInt(SB),0,$0-0
@@ -1784,8 +1820,8 @@
//--- Multiplication/division by one omitted at libgogo/convert.go:64:36
ADDQ -16(SP), R8
//--- First parameter expression load end at libgogo/convert.go:64:37
- ANDQ $255, R8
MOVB (R8), R8
+ ANDQ $255, R8
MOVB R8, -48(SP)
//--- First parameter expression end at libgogo/convert.go:64:37
//--- Stack pointer offset before function call for local variables
start at libgogo/convert.go:64:37
@@ -1988,8 +2024,8 @@
LEAQ -48(SP), R8
ADDQ -24(SP), R8
//--- Subsequent parameter expression load end at
libgogo/convert.go:88:33
- ANDQ $255, R8
MOVB (R8), R8
+ ANDQ $255, R8
//--- ##1##libgogo·CharAppend## at libgogo/convert.go:88:33
MOVB R8, -100040(SP)
//--- Subsequent parameter expression end at libgogo/convert.go:88:33
@@ -9207,8 +9243,8 @@
MOVQ 24(SP), R9
//--- Multiplication/division by one omitted at libgogo/string.go:56:34
ADDQ -8(SP), R9
- ANDQ $255, R8
MOVB (R8), R8
+ ANDQ $255, R8
CMPQ R8, R9
JNE IF_libgogo_string_56_1_END
JMP IF_libgogo_string_56_END
@@ -10430,8 +10466,8 @@
//--- If start at libgogo/libgogo.go:33:12
MOVQ -32(SP), R8
//--- Addition/subtraction by zero omitted at libgogo/libgogo.go:33:19
- ANDQ $255, R8
MOVB (R8), R8
+ ANDQ $255, R8
CMPQ R8, $0
JE IF_libgogo_libgogo_33_1_END
JMP IF_libgogo_libgogo_33_END
@@ -10466,8 +10502,8 @@
MOVQ -32(SP), R8
//--- Addition/subtraction by zero omitted at libgogo/libgogo.go:36:44
//--- Subsequent parameter expression load end at
libgogo/libgogo.go:36:45
- ANDQ $255, R8
MOVB (R8), R8
+ ANDQ $255, R8
MOVB R8, -40(SP)
//--- Subsequent parameter expression end at libgogo/libgogo.go:36:45
//--- Stack pointer offset before function call for local variables
start at libgogo/libgogo.go:36:45
=======================================
--- /src/asm_out.go Wed Jun 16 15:23:00 2010
+++ /src/asm_out.go Sun Jun 20 00:26:19 2010
@@ -295,14 +295,22 @@

func PrintInstruction_Reg_Reg(op string, opsize uint64, reg1name string,
reg1number uint64, reg1indirect uint64, reg1offset uint64,
reg1offsetnegative uint64, reg1optionaloffsetname string, reg2name string,
reg2number uint64, reg2indirect uint64, reg2offset uint64,
reg2offsetnegative uint64, reg2optionaloffsetname string) uint64 {
var retVal uint64;
+ var ANDafter uint64 = 0;
if (opsize == 1) && (reg2indirect == 0) { //Clear upper bits using AND
mask when operating on bytes; don't clear memory as op could be MOV and
therefore set 7 bytes unrecoverably to zero
- PrintInstruction_Imm_Reg("AND", 8, 255, reg2name, reg2number,
reg2indirect, reg2offset, reg2offsetnegative, reg2optionaloffsetname);
//ANDQ $255, R
+ if (reg1indirect == 1) && (reg1number == reg2number) { //When
dereferring to the same register, perform AND operation afterwards in order
to maintain address to derefer
+ ANDafter = 1;
+ } else {
+ PrintInstruction_Imm_Reg("AND", 8, 255, reg2name, reg2number,
reg2indirect, reg2offset, reg2offsetnegative, reg2optionaloffsetname);
//ANDQ $255, R
+ }
}
retVal = PrintInstructionStart(op, opsize);
PrintRegister(reg1name, reg1number, reg1indirect, reg1offset,
reg1offsetnegative, reg1optionaloffsetname);
PrintInstructionOperandSeparator();
PrintRegister(reg2name, reg2number, reg2indirect, reg2offset,
reg2offsetnegative, reg2optionaloffsetname);
PrintInstructionEnd();
+ if ANDafter == 1 {
+ PrintInstruction_Imm_Reg("AND", 8, 255, reg2name, reg2number,
reg2indirect, reg2offset, reg2offsetnegative, reg2optionaloffsetname);
//ANDQ $255, R
+ }
return retVal;
}

=======================================
--- /src/compile_lib Wed Jun 16 15:23:00 2010
+++ /src/compile_lib Sun Jun 20 00:26:19 2010
@@ -1,3 +1,3 @@
#!/bin/sh

-./gogo -c libgogo/convert.go libgogo/convert_amd64.s libgogo/io.go
libgogo/io_amd64.s libgogo/list.go libgogo/memmgr.go libgogo/memmgr_amd64.s
libgogo/strlist.go libgogo/symbol.go libgogo/symbol_amd64.s
libgogo/string.go libgogo/string_amd64.s libgogo/item.go
libgogo/item_amd64.s libgogo/libgogo.go libgogo/libgogo_amd64.s
+./gogo -c test.go libgogo/convert.go libgogo/convert_amd64.s libgogo/io.go
libgogo/io_amd64.s libgogo/list.go libgogo/memmgr.go libgogo/memmgr_amd64.s
libgogo/strlist.go libgogo/symbol.go libgogo/symbol_amd64.s
libgogo/string.go libgogo/string_amd64.s libgogo/item.go
libgogo/item_amd64.s libgogo/libgogo.go libgogo/libgogo_amd64.s

go...@googlecode.com

unread,
Aug 17, 2010, 10:39:11 PM8/17/10
to go...@googlegroups.com
2 new revisions:

Revision: d8c794b53f
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 00:28:13 2010
Log: testing: Acknowledged new result set as the test program also
containe...
http://code.google.com/p/gogc/source/detail?r=d8c794b53f

Revision: 2d7f7a4539
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 04:06:32 2010
Log: asm_out.go: Overlooked the string length check when appending single
c...
http://code.google.com/p/gogc/source/detail?r=2d7f7a4539

==============================================================================
Revision: d8c794b53f
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 00:28:13 2010
Log: testing: Acknowledged new result set as the test program also
contained the semantical bug previously pushed (remain unnoticed though)
http://code.google.com/p/gogc/source/detail?r=d8c794b53f

Modified:
/testing/checksums
/testing/results/_gogo_.sog

=======================================
--- /testing/checksums Sat Jun 19 02:13:43 2010
+++ /testing/checksums Sun Jun 20 00:28:13 2010
@@ -17,5 +17,5 @@
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
tmp/2010-05-09_struct8_fail.go
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
tmp/2010-05-09_struct9.go
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
tmp/2010-05-09_symtable_fail.go
-13d548f60634a60500920ac7da85d7f2ed70f6beb356ea23d228d8a232d7381c
tmp/_gogo_.sog
+77c1e01b144ed7a16e20aaecc987a293b4e0ea03e4406c7e122bc8e9923668b1
tmp/_gogo_.sog
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
tmp/test.go
=======================================
--- /testing/results/_gogo_.sog Sat Jun 19 02:13:43 2010
+++ /testing/results/_gogo_.sog Sun Jun 20 00:28:13 2010
@@ -154,8 +154,8 @@
MOVQ (R9), R9
ADDQ $1, R9
//--- Assignment RHS load end at tests/test.go:31:35
- ANDQ $255, R9
MOVB (R9), R9
+ ANDQ $255, R9
MOVB R9, (R8)
//--- Assignment end at tests/test.go:31:35
//--- Assignment start at tests/test.go:32:7

==============================================================================
Revision: 2d7f7a4539
Author: Andreas Unterweger <and...@gmx.at>
Date: Sun Jun 20 04:06:32 2010
Log: asm_out.go: Overlooked the string length check when appending single
characters to the code segment
http://code.google.com/p/gogc/source/detail?r=2d7f7a4539

Added:
/src/fib.go
Modified:
/src/_gogo_.sog
/src/asm_out.go
/src/compile_lib

=======================================
--- /dev/null
+++ /src/fib.go Sun Jun 20 04:06:32 2010
@@ -0,0 +1,58 @@
+// fib test
+
+package main
+
+func main() uint64 {
+ var retValue uint64;
+ var tofib1 uint64;
+ var tofib2 uint64;
+ var tmpStr string;
+ tofib1 = fib1(11);
+ tofib2 = fib2(11);
+ libgogo.PrintString("Fibonacci\n");
+ libgogo.PrintString("=========\n");
+ libgogo.PrintString("Rekursiv(11): ");
+ tmpStr = libgogo.IntToString(tofib1);
+ libgogo.PrintString(tmpStr);
+ libgogo.PrintString("\n");
+ libgogo.PrintString("Iterativ(11): ");
+ tmpStr = libgogo.IntToString(tofib2);
+ libgogo.PrintString(tmpStr);
+ libgogo.PrintString("\n");
+}
+
+func fib1(i uint64) uint64 {
+ var retVal uint64;
+ var fib1 uint64;
+ var fib2 uint64;
+ if i <= 2 {
+ retVal = 1;
+ } else {
+ fib1 = fib1(i-1);
+ fib2 = fib1(i-2);
+ retVal = fib1 + fib2;
+ }
+ return retVal;
+}
+
+func fib2(n uint64) uint64 {
+ var a uint64;
+ var b uint64;
+ var new uint64;
+ var cnt uint64;
+ var retValue uint64;
+
+ if n<=2 {
+ retValue = 1;
+ } else {
+ a = 1;
+ b = 1;
+ for cnt=3;cnt<=n;cnt=cnt+1 {
+ new = a+b;
+ a = b;
+ b = new;
+ }
+ retValue = new;
+ }
+ return retValue;
+}
=======================================
--- /src/_gogo_.sog Sun Jun 20 00:26:19 2010
+++ /src/_gogo_.sog Sun Jun 20 04:06:32 2010
@@ -21,11 +21,11 @@
//TYPE,0,libgogo·ObjectDesc,64,64
//TYPE,0,libgogo·Item,72,72
//FUNC,0,main·init
-//FUNC,0,main·main
-//FUNC,0,libgogo·StringAppend,str:*·string,append_str:·string
+//FUNC,0,main·main,return value:·uint64
+//FUNC,0,main·fib1,i:·uint64,return value:·uint64
+//FUNC,0,main·fib2,n:·uint64,return value:·uint64
//FUNC,0,libgogo·PrintString,msg:·string
-//FUNC,0,libgogo·PrintNumber,num:·uint64
-//FUNC,0,libgogo·PrintChar,char:·byte
+//FUNC,0,libgogo·IntToString,num:·uint64,return value:·string
//FUNC,0,libgogo·ToIntFromByte,b:·byte,return value:·uint64
//FUNC,0,libgogo·ToByteFromInt,i:·uint64,return value:·byte
//FUNC,0,libgogo·ToUint64FromBytePtr,char:*·byte,return value:·uint64
@@ -35,10 +35,11 @@
//FUNC,0,libgogo·GetStringFromAddress,addr:·uint64,return value:*·string
//FUNC,0,libgogo·StringToInt,str:·string,return value:·uint64
//FUNC,0,libgogo·StringLength,str:·string,return value:·uint64
-//FUNC,0,libgogo·IntToString,num:·uint64,return value:·string
//FUNC,0,libgogo·CharAppend,str:*·string,char:·byte
//FUNC,0,libgogo·Write,fd:·uint64,text:·string,length:·uint64,return
value:·uint64
//FUNC,0,libgogo·WriteString,fd:·uint64,msg:·string
+//FUNC,0,libgogo·PrintChar,char:·byte
+//FUNC,0,libgogo·PrintNumber,num:·uint64
//FUNC,0,libgogo·Read,fd:·uint64,buffer:·string,buffer_size:·uint64,return
value:·uint64
//FUNC,0,libgogo·GetChar,fd:·uint64,return value:·byte
//FUNC,0,libgogo·FileOpen,filename:·string,flags:·uint64,return
value:·uint64
@@ -92,6 +93,7 @@
//FUNC,0,libgogo·PrintTypes,list:*libgogo·TypeDesc
//FUNC,0,libgogo·PrintFunctions,list:*libgogo·TypeDesc

//FUNC,0,libgogo·SymbolTableFunctionsToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
+//FUNC,0,libgogo·StringAppend,str:*·string,append_str:·string

//FUNC,0,libgogo·SymbolTableTypesToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
//FUNC,0,libgogo·StringLength2,str:*·string,return value:·uint64
//FUNC,0,libgogo·GetStringAddress,str:*·string,return value:·uint64
@@ -106,1629 +108,2055 @@
//FUNC,0,libgogo·Exit,code:·uint64
//End Symbol table

-//--- String buffer start ('') at test.go:4:22
-DATA data+8(SB)/1, $0
-//--- String buffer end at test.go:4:22
-//--- String buffer start ('Hello') at test.go:5:37
-DATA data+32(SB)/1, $72
-DATA data+33(SB)/1, $101
-DATA data+34(SB)/1, $108
-DATA data+35(SB)/1, $108
-DATA data+36(SB)/1, $111
-DATA data+37(SB)/1, $0
-//--- String buffer end at test.go:5:37
-//--- String buffer start (' world!\n') at test.go:6:41
-DATA data+56(SB)/1, $32
-DATA data+57(SB)/1, $119
-DATA data+58(SB)/1, $111
-DATA data+59(SB)/1, $114
-DATA data+60(SB)/1, $108
-DATA data+61(SB)/1, $100
-DATA data+62(SB)/1, $33
-DATA data+63(SB)/1, $10
-DATA data+64(SB)/1, $0
-//--- String buffer end at test.go:6:41
+//--- String buffer start ('Fibonacci\n') at fib.go:12:38
+DATA data+8(SB)/1, $70
+DATA data+9(SB)/1, $105
+DATA data+10(SB)/1, $98
+DATA data+11(SB)/1, $111
+DATA data+12(SB)/1, $110
+DATA data+13(SB)/1, $97
+DATA data+14(SB)/1, $99
+DATA data+15(SB)/1, $99
+DATA data+16(SB)/1, $105
+DATA data+17(SB)/1, $10
+DATA data+18(SB)/1, $0
+//--- String buffer end at fib.go:12:38
+//--- String buffer start ('=========\n') at fib.go:13:38
+DATA data+40(SB)/1, $61
+DATA data+41(SB)/1, $61
+DATA data+42(SB)/1, $61
+DATA data+43(SB)/1, $61
+DATA data+44(SB)/1, $61
+DATA data+45(SB)/1, $61
+DATA data+46(SB)/1, $61
+DATA data+47(SB)/1, $61
+DATA data+48(SB)/1, $61
+DATA data+49(SB)/1, $10
+DATA data+50(SB)/1, $0
+//--- String buffer end at fib.go:13:38
+//--- String buffer start ('Rekursiv(11): ') at fib.go:14:41
+DATA data+72(SB)/1, $82
+DATA data+73(SB)/1, $101
+DATA data+74(SB)/1, $107
+DATA data+75(SB)/1, $117
+DATA data+76(SB)/1, $114
+DATA data+77(SB)/1, $115
+DATA data+78(SB)/1, $105
+DATA data+79(SB)/1, $118
+DATA data+80(SB)/1, $40
+DATA data+81(SB)/1, $49
+DATA data+82(SB)/1, $49
+DATA data+83(SB)/1, $41
+DATA data+84(SB)/1, $58
+DATA data+85(SB)/1, $32
+DATA data+86(SB)/1, $0
+//--- String buffer end at fib.go:14:41
+//--- String buffer start ('\n') at fib.go:17:29
+DATA data+104(SB)/1, $10
+DATA data+105(SB)/1, $0
+//--- String buffer end at fib.go:17:29
+//--- String buffer start ('Iterativ(11): ') at fib.go:18:41
+DATA data+128(SB)/1, $73
+DATA data+129(SB)/1, $116
+DATA data+130(SB)/1, $101
+DATA data+131(SB)/1, $114
+DATA data+132(SB)/1, $97
+DATA data+133(SB)/1, $116
+DATA data+134(SB)/1, $105
+DATA data+135(SB)/1, $118
+DATA data+136(SB)/1, $40
+DATA data+137(SB)/1, $49
+DATA data+138(SB)/1, $49
+DATA data+139(SB)/1, $41
+DATA data+140(SB)/1, $58
+DATA data+141(SB)/1, $32
+DATA data+142(SB)/1, $0
+//--- String buffer end at fib.go:18:41
+//--- String buffer start ('\n') at fib.go:21:29
+DATA data+160(SB)/1, $10
+DATA data+161(SB)/1, $0
+//--- String buffer end at fib.go:21:29
//--- String buffer start ('') at libgogo/convert.go:74:24
-DATA data+88(SB)/1, $0
+DATA data+184(SB)/1, $0
//--- String buffer end at libgogo/convert.go:74:24
//--- String buffer start ('Tried to GetItemAt(') at libgogo/list.go:77:42
-DATA data+112(SB)/1, $84
-DATA data+113(SB)/1, $114
-DATA data+114(SB)/1, $105
-DATA data+115(SB)/1, $101
-DATA data+116(SB)/1, $100
-DATA data+117(SB)/1, $32
-DATA data+118(SB)/1, $116
-DATA data+119(SB)/1, $111
-DATA data+120(SB)/1, $32
-DATA data+121(SB)/1, $71
-DATA data+122(SB)/1, $101
-DATA data+123(SB)/1, $116
-DATA data+124(SB)/1, $73
-DATA data+125(SB)/1, $116
-DATA data+126(SB)/1, $101
-DATA data+127(SB)/1, $109
-DATA data+128(SB)/1, $65
-DATA data+129(SB)/1, $116
-DATA data+130(SB)/1, $40
-DATA data+131(SB)/1, $0
+DATA data+208(SB)/1, $84
+DATA data+209(SB)/1, $114
+DATA data+210(SB)/1, $105
+DATA data+211(SB)/1, $101
+DATA data+212(SB)/1, $100
+DATA data+213(SB)/1, $32
+DATA data+214(SB)/1, $116
+DATA data+215(SB)/1, $111
+DATA data+216(SB)/1, $32
+DATA data+217(SB)/1, $71
+DATA data+218(SB)/1, $101
+DATA data+219(SB)/1, $116
+DATA data+220(SB)/1, $73
+DATA data+221(SB)/1, $116
+DATA data+222(SB)/1, $101
+DATA data+223(SB)/1, $109
+DATA data+224(SB)/1, $65
+DATA data+225(SB)/1, $116
+DATA data+226(SB)/1, $40
+DATA data+227(SB)/1, $0
//--- String buffer end at libgogo/list.go:77:42
//--- String buffer start (') from a list with only ') at
libgogo/list.go:79:47
-DATA data+152(SB)/1, $41
-DATA data+153(SB)/1, $32
-DATA data+154(SB)/1, $102
-DATA data+155(SB)/1, $114
-DATA data+156(SB)/1, $111
-DATA data+157(SB)/1, $109
-DATA data+158(SB)/1, $32
-DATA data+159(SB)/1, $97
-DATA data+160(SB)/1, $32
-DATA data+161(SB)/1, $108
-DATA data+162(SB)/1, $105
-DATA data+163(SB)/1, $115
-DATA data+164(SB)/1, $116
-DATA data+165(SB)/1, $32
-DATA data+166(SB)/1, $119
-DATA data+167(SB)/1, $105
-DATA data+168(SB)/1, $116
-DATA data+169(SB)/1, $104
-DATA data+170(SB)/1, $32
-DATA data+171(SB)/1, $111
-DATA data+172(SB)/1, $110
-DATA data+173(SB)/1, $108
-DATA data+174(SB)/1, $121
-DATA data+175(SB)/1, $32
-DATA data+176(SB)/1, $0
+DATA data+248(SB)/1, $41
+DATA data+249(SB)/1, $32
+DATA data+250(SB)/1, $102
+DATA data+251(SB)/1, $114
+DATA data+252(SB)/1, $111
+DATA data+253(SB)/1, $109
+DATA data+254(SB)/1, $32
+DATA data+255(SB)/1, $97
+DATA data+256(SB)/1, $32
+DATA data+257(SB)/1, $108
+DATA data+258(SB)/1, $105
+DATA data+259(SB)/1, $115
+DATA data+260(SB)/1, $116
+DATA data+261(SB)/1, $32
+DATA data+262(SB)/1, $119
+DATA data+263(SB)/1, $105
+DATA data+264(SB)/1, $116
+DATA data+265(SB)/1, $104
+DATA data+266(SB)/1, $32
+DATA data+267(SB)/1, $111
+DATA data+268(SB)/1, $110
+DATA data+269(SB)/1, $108
+DATA data+270(SB)/1, $121
+DATA data+271(SB)/1, $32
+DATA data+272(SB)/1, $0
//--- String buffer end at libgogo/list.go:79:47
//--- String buffer start (' items - out of bounds error') at
libgogo/list.go:81:49
-DATA data+200(SB)/1, $32
-DATA data+201(SB)/1, $105
-DATA data+202(SB)/1, $116
-DATA data+203(SB)/1, $101
-DATA data+204(SB)/1, $109
-DATA data+205(SB)/1, $115
-DATA data+206(SB)/1, $32
-DATA data+207(SB)/1, $45
-DATA data+208(SB)/1, $32
-DATA data+209(SB)/1, $111
-DATA data+210(SB)/1, $117
-DATA data+211(SB)/1, $116
-DATA data+212(SB)/1, $32
-DATA data+213(SB)/1, $111
-DATA data+214(SB)/1, $102
-DATA data+215(SB)/1, $32
-DATA data+216(SB)/1, $98
-DATA data+217(SB)/1, $111
-DATA data+218(SB)/1, $117
-DATA data+219(SB)/1, $110
-DATA data+220(SB)/1, $100
-DATA data+221(SB)/1, $115
-DATA data+222(SB)/1, $32
-DATA data+223(SB)/1, $101
-DATA data+224(SB)/1, $114
-DATA data+225(SB)/1, $114
-DATA data+226(SB)/1, $111
-DATA data+227(SB)/1, $114
-DATA data+228(SB)/1, $0
+DATA data+296(SB)/1, $32
+DATA data+297(SB)/1, $105
+DATA data+298(SB)/1, $116
+DATA data+299(SB)/1, $101
+DATA data+300(SB)/1, $109
+DATA data+301(SB)/1, $115
+DATA data+302(SB)/1, $32
+DATA data+303(SB)/1, $45
+DATA data+304(SB)/1, $32
+DATA data+305(SB)/1, $111
+DATA data+306(SB)/1, $117
+DATA data+307(SB)/1, $116
+DATA data+308(SB)/1, $32
+DATA data+309(SB)/1, $111
+DATA data+310(SB)/1, $102
+DATA data+311(SB)/1, $32
+DATA data+312(SB)/1, $98
+DATA data+313(SB)/1, $111
+DATA data+314(SB)/1, $117
+DATA data+315(SB)/1, $110
+DATA data+316(SB)/1, $100
+DATA data+317(SB)/1, $115
+DATA data+318(SB)/1, $32
+DATA data+319(SB)/1, $101
+DATA data+320(SB)/1, $114
+DATA data+321(SB)/1, $114
+DATA data+322(SB)/1, $111
+DATA data+323(SB)/1, $114
+DATA data+324(SB)/1, $0
//--- String buffer end at libgogo/list.go:81:49
//--- String buffer start ('GetBrk failed\n') at libgogo/memmgr.go:53:36
-DATA data+280(SB)/1, $71
-DATA data+281(SB)/1, $101
-DATA data+282(SB)/1, $116
-DATA data+283(SB)/1, $66
-DATA data+284(SB)/1, $114
-DATA data+285(SB)/1, $107
-DATA data+286(SB)/1, $32
-DATA data+287(SB)/1, $102
-DATA data+288(SB)/1, $97
-DATA data+289(SB)/1, $105
-DATA data+290(SB)/1, $108
-DATA data+291(SB)/1, $101
-DATA data+292(SB)/1, $100
-DATA data+293(SB)/1, $10
-DATA data+294(SB)/1, $0
+DATA data+376(SB)/1, $71
+DATA data+377(SB)/1, $101
+DATA data+378(SB)/1, $116
+DATA data+379(SB)/1, $66
+DATA data+380(SB)/1, $114
+DATA data+381(SB)/1, $107
+DATA data+382(SB)/1, $32
+DATA data+383(SB)/1, $102
+DATA data+384(SB)/1, $97
+DATA data+385(SB)/1, $105
+DATA data+386(SB)/1, $108
+DATA data+387(SB)/1, $101
+DATA data+388(SB)/1, $100
+DATA data+389(SB)/1, $10
+DATA data+390(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:53:36
//--- String buffer start ('Brk failed while allocating ') at
libgogo/memmgr.go:70:51
-DATA data+312(SB)/1, $66
-DATA data+313(SB)/1, $114
-DATA data+314(SB)/1, $107
-DATA data+315(SB)/1, $32
-DATA data+316(SB)/1, $102
-DATA data+317(SB)/1, $97
-DATA data+318(SB)/1, $105
-DATA data+319(SB)/1, $108
-DATA data+320(SB)/1, $101
-DATA data+321(SB)/1, $100
-DATA data+322(SB)/1, $32
-DATA data+323(SB)/1, $119
-DATA data+324(SB)/1, $104
-DATA data+325(SB)/1, $105
-DATA data+326(SB)/1, $108
-DATA data+327(SB)/1, $101
-DATA data+328(SB)/1, $32
-DATA data+329(SB)/1, $97
-DATA data+330(SB)/1, $108
-DATA data+331(SB)/1, $108
-DATA data+332(SB)/1, $111
-DATA data+333(SB)/1, $99
-DATA data+334(SB)/1, $97
-DATA data+335(SB)/1, $116
-DATA data+336(SB)/1, $105
-DATA data+337(SB)/1, $110
-DATA data+338(SB)/1, $103
-DATA data+339(SB)/1, $32
-DATA data+340(SB)/1, $0
+DATA data+408(SB)/1, $66
+DATA data+409(SB)/1, $114
+DATA data+410(SB)/1, $107
+DATA data+411(SB)/1, $32
+DATA data+412(SB)/1, $102
+DATA data+413(SB)/1, $97
+DATA data+414(SB)/1, $105
+DATA data+415(SB)/1, $108
+DATA data+416(SB)/1, $101
+DATA data+417(SB)/1, $100
+DATA data+418(SB)/1, $32
+DATA data+419(SB)/1, $119
+DATA data+420(SB)/1, $104
+DATA data+421(SB)/1, $105
+DATA data+422(SB)/1, $108
+DATA data+423(SB)/1, $101
+DATA data+424(SB)/1, $32
+DATA data+425(SB)/1, $97
+DATA data+426(SB)/1, $108
+DATA data+427(SB)/1, $108
+DATA data+428(SB)/1, $111
+DATA data+429(SB)/1, $99
+DATA data+430(SB)/1, $97
+DATA data+431(SB)/1, $116
+DATA data+432(SB)/1, $105
+DATA data+433(SB)/1, $110
+DATA data+434(SB)/1, $103
+DATA data+435(SB)/1, $32
+DATA data+436(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:70:51
//--- String buffer start (' bytes. Errno: ') at libgogo/memmgr.go:72:38
-DATA data+360(SB)/1, $32
-DATA data+361(SB)/1, $98
-DATA data+362(SB)/1, $121
-DATA data+363(SB)/1, $116
-DATA data+364(SB)/1, $101
-DATA data+365(SB)/1, $115
-DATA data+366(SB)/1, $46
-DATA data+367(SB)/1, $32
-DATA data+368(SB)/1, $69
-DATA data+369(SB)/1, $114
-DATA data+370(SB)/1, $114
-DATA data+371(SB)/1, $110
-DATA data+372(SB)/1, $111
-DATA data+373(SB)/1, $58
-DATA data+374(SB)/1, $32
-DATA data+375(SB)/1, $0
+DATA data+456(SB)/1, $32
+DATA data+457(SB)/1, $98
+DATA data+458(SB)/1, $121
+DATA data+459(SB)/1, $116
+DATA data+460(SB)/1, $101
+DATA data+461(SB)/1, $115
+DATA data+462(SB)/1, $46
+DATA data+463(SB)/1, $32
+DATA data+464(SB)/1, $69
+DATA data+465(SB)/1, $114
+DATA data+466(SB)/1, $114
+DATA data+467(SB)/1, $110
+DATA data+468(SB)/1, $111
+DATA data+469(SB)/1, $58
+DATA data+470(SB)/1, $32
+DATA data+471(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:72:38
//--- String buffer start ('\n') at libgogo/memmgr.go:74:23
-DATA data+392(SB)/1, $10
-DATA data+393(SB)/1, $0
+DATA data+488(SB)/1, $10
+DATA data+489(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:74:23
//--- String buffer start ('Failed to write to newly allocated memory
at ') at libgogo/memmgr.go:78:68
-DATA data+416(SB)/1, $70
-DATA data+417(SB)/1, $97
-DATA data+418(SB)/1, $105
-DATA data+419(SB)/1, $108
-DATA data+420(SB)/1, $101
-DATA data+421(SB)/1, $100
-DATA data+422(SB)/1, $32
-DATA data+423(SB)/1, $116
-DATA data+424(SB)/1, $111
-DATA data+425(SB)/1, $32
-DATA data+426(SB)/1, $119
-DATA data+427(SB)/1, $114
-DATA data+428(SB)/1, $105
-DATA data+429(SB)/1, $116
-DATA data+430(SB)/1, $101
-DATA data+431(SB)/1, $32
-DATA data+432(SB)/1, $116
-DATA data+433(SB)/1, $111
-DATA data+434(SB)/1, $32
-DATA data+435(SB)/1, $110
-DATA data+436(SB)/1, $101
-DATA data+437(SB)/1, $119
-DATA data+438(SB)/1, $108
-DATA data+439(SB)/1, $121
-DATA data+440(SB)/1, $32
-DATA data+441(SB)/1, $97
-DATA data+442(SB)/1, $108
-DATA data+443(SB)/1, $108
-DATA data+444(SB)/1, $111
-DATA data+445(SB)/1, $99
-DATA data+446(SB)/1, $97
-DATA data+447(SB)/1, $116
-DATA data+448(SB)/1, $101
-DATA data+449(SB)/1, $100
-DATA data+450(SB)/1, $32
-DATA data+451(SB)/1, $109
-DATA data+452(SB)/1, $101
-DATA data+453(SB)/1, $109
-DATA data+454(SB)/1, $111
-DATA data+455(SB)/1, $114
-DATA data+456(SB)/1, $121
-DATA data+457(SB)/1, $32
-DATA data+458(SB)/1, $97
-DATA data+459(SB)/1, $116
-DATA data+460(SB)/1, $32
-DATA data+461(SB)/1, $0
+DATA data+512(SB)/1, $70
+DATA data+513(SB)/1, $97
+DATA data+514(SB)/1, $105
+DATA data+515(SB)/1, $108
+DATA data+516(SB)/1, $101
+DATA data+517(SB)/1, $100
+DATA data+518(SB)/1, $32
+DATA data+519(SB)/1, $116
+DATA data+520(SB)/1, $111
+DATA data+521(SB)/1, $32
+DATA data+522(SB)/1, $119
+DATA data+523(SB)/1, $114
+DATA data+524(SB)/1, $105
+DATA data+525(SB)/1, $116
+DATA data+526(SB)/1, $101
+DATA data+527(SB)/1, $32
+DATA data+528(SB)/1, $116
+DATA data+529(SB)/1, $111
+DATA data+530(SB)/1, $32
+DATA data+531(SB)/1, $110
+DATA data+532(SB)/1, $101
+DATA data+533(SB)/1, $119
+DATA data+534(SB)/1, $108
+DATA data+535(SB)/1, $121
+DATA data+536(SB)/1, $32
+DATA data+537(SB)/1, $97
+DATA data+538(SB)/1, $108
+DATA data+539(SB)/1, $108
+DATA data+540(SB)/1, $111
+DATA data+541(SB)/1, $99
+DATA data+542(SB)/1, $97
+DATA data+543(SB)/1, $116
+DATA data+544(SB)/1, $101
+DATA data+545(SB)/1, $100
+DATA data+546(SB)/1, $32
+DATA data+547(SB)/1, $109
+DATA data+548(SB)/1, $101
+DATA data+549(SB)/1, $109
+DATA data+550(SB)/1, $111
+DATA data+551(SB)/1, $114
+DATA data+552(SB)/1, $121
+DATA data+553(SB)/1, $32
+DATA data+554(SB)/1, $97
+DATA data+555(SB)/1, $116
+DATA data+556(SB)/1, $32
+DATA data+557(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:78:68
//--- String buffer start ('\n') at libgogo/memmgr.go:80:23
-DATA data+480(SB)/1, $10
-DATA data+481(SB)/1, $0
+DATA data+576(SB)/1, $10
+DATA data+577(SB)/1, $0
//--- String buffer end at libgogo/memmgr.go:80:23
//--- String buffer start ('') at libgogo/symbol.go:120:32
-DATA data+576(SB)/1, $0
+DATA data+672(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:120:32
//--- String buffer start ('Object ') at libgogo/symbol.go:402:30
-DATA data+600(SB)/1, $79
-DATA data+601(SB)/1, $98
-DATA data+602(SB)/1, $106
-DATA data+603(SB)/1, $101
-DATA data+604(SB)/1, $99
-DATA data+605(SB)/1, $116
-DATA data+606(SB)/1, $32
-DATA data+607(SB)/1, $0
+DATA data+696(SB)/1, $79
+DATA data+697(SB)/1, $98
+DATA data+698(SB)/1, $106
+DATA data+699(SB)/1, $101
+DATA data+700(SB)/1, $99
+DATA data+701(SB)/1, $116
+DATA data+702(SB)/1, $32
+DATA data+703(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:402:30
//--- String buffer start (' (type: ') at libgogo/symbol.go:409:31
-DATA data+624(SB)/1, $32
-DATA data+625(SB)/1, $40
-DATA data+626(SB)/1, $116
-DATA data+627(SB)/1, $121
-DATA data+628(SB)/1, $112
-DATA data+629(SB)/1, $101
-DATA data+630(SB)/1, $58
-DATA data+631(SB)/1, $32
-DATA data+632(SB)/1, $0
+DATA data+720(SB)/1, $32
+DATA data+721(SB)/1, $40
+DATA data+722(SB)/1, $116
+DATA data+723(SB)/1, $121
+DATA data+724(SB)/1, $112
+DATA data+725(SB)/1, $101
+DATA data+726(SB)/1, $58
+DATA data+727(SB)/1, $32
+DATA data+728(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:409:31
//--- String buffer start ('pointer to ') at libgogo/symbol.go:411:38
-DATA data+656(SB)/1, $112
-DATA data+657(SB)/1, $111
-DATA data+658(SB)/1, $105
-DATA data+659(SB)/1, $110
-DATA data+660(SB)/1, $116
-DATA data+661(SB)/1, $101
-DATA data+662(SB)/1, $114
-DATA data+663(SB)/1, $32
-DATA data+664(SB)/1, $116
-DATA data+665(SB)/1, $111
-DATA data+666(SB)/1, $32
-DATA data+667(SB)/1, $0
+DATA data+752(SB)/1, $112
+DATA data+753(SB)/1, $111
+DATA data+754(SB)/1, $105
+DATA data+755(SB)/1, $110
+DATA data+756(SB)/1, $116
+DATA data+757(SB)/1, $101
+DATA data+758(SB)/1, $114
+DATA data+759(SB)/1, $32
+DATA data+760(SB)/1, $116
+DATA data+761(SB)/1, $111
+DATA data+762(SB)/1, $32
+DATA data+763(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:411:38
//--- String buffer start ('array of ') at libgogo/symbol.go:415:40
-DATA data+688(SB)/1, $97
-DATA data+689(SB)/1, $114
-DATA data+690(SB)/1, $114
-DATA data+691(SB)/1, $97
-DATA data+692(SB)/1, $121
-DATA data+693(SB)/1, $32
-DATA data+694(SB)/1, $111
-DATA data+695(SB)/1, $102
-DATA data+696(SB)/1, $32
-DATA data+697(SB)/1, $0
+DATA data+784(SB)/1, $97
+DATA data+785(SB)/1, $114
+DATA data+786(SB)/1, $114
+DATA data+787(SB)/1, $97
+DATA data+788(SB)/1, $121
+DATA data+789(SB)/1, $32
+DATA data+790(SB)/1, $111
+DATA data+791(SB)/1, $102
+DATA data+792(SB)/1, $32
+DATA data+793(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:415:40
//--- String buffer start (' of length ') at libgogo/symbol.go:417:42
-DATA data+720(SB)/1, $32
-DATA data+721(SB)/1, $111
-DATA data+722(SB)/1, $102
-DATA data+723(SB)/1, $32
-DATA data+724(SB)/1, $108
-DATA data+725(SB)/1, $101
-DATA data+726(SB)/1, $110
-DATA data+727(SB)/1, $103
-DATA data+728(SB)/1, $116
-DATA data+729(SB)/1, $104
-DATA data+730(SB)/1, $32
-DATA data+731(SB)/1, $0
+DATA data+816(SB)/1, $32
+DATA data+817(SB)/1, $111
+DATA data+818(SB)/1, $102
+DATA data+819(SB)/1, $32
+DATA data+820(SB)/1, $108
+DATA data+821(SB)/1, $101
+DATA data+822(SB)/1, $110
+DATA data+823(SB)/1, $103
+DATA data+824(SB)/1, $116
+DATA data+825(SB)/1, $104
+DATA data+826(SB)/1, $32
+DATA data+827(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:417:42
//--- String buffer start (', internally named ') at
libgogo/symbol.go:419:50
-DATA data+752(SB)/1, $44
-DATA data+753(SB)/1, $32
-DATA data+754(SB)/1, $105
-DATA data+755(SB)/1, $110
-DATA data+756(SB)/1, $116
-DATA data+757(SB)/1, $101
-DATA data+758(SB)/1, $114
-DATA data+759(SB)/1, $110
-DATA data+760(SB)/1, $97
-DATA data+761(SB)/1, $108
-DATA data+762(SB)/1, $108
-DATA data+763(SB)/1, $121
-DATA data+764(SB)/1, $32
-DATA data+765(SB)/1, $110
-DATA data+766(SB)/1, $97
-DATA data+767(SB)/1, $109
-DATA data+768(SB)/1, $101
-DATA data+769(SB)/1, $100
-DATA data+770(SB)/1, $32
-DATA data+771(SB)/1, $0
+DATA data+848(SB)/1, $44
+DATA data+849(SB)/1, $32
+DATA data+850(SB)/1, $105
+DATA data+851(SB)/1, $110
+DATA data+852(SB)/1, $116
+DATA data+853(SB)/1, $101
+DATA data+854(SB)/1, $114
+DATA data+855(SB)/1, $110
+DATA data+856(SB)/1, $97
+DATA data+857(SB)/1, $108
+DATA data+858(SB)/1, $108
+DATA data+859(SB)/1, $121
+DATA data+860(SB)/1, $32
+DATA data+861(SB)/1, $110
+DATA data+862(SB)/1, $97
+DATA data+863(SB)/1, $109
+DATA data+864(SB)/1, $101
+DATA data+865(SB)/1, $100
+DATA data+866(SB)/1, $32
+DATA data+867(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:419:50
//--- String buffer start ('<unknown>') at libgogo/symbol.go:428:36
-DATA data+792(SB)/1, $60
-DATA data+793(SB)/1, $117
-DATA data+794(SB)/1, $110
-DATA data+795(SB)/1, $107
-DATA data+796(SB)/1, $110
-DATA data+797(SB)/1, $111
-DATA data+798(SB)/1, $119
-DATA data+799(SB)/1, $110
-DATA data+800(SB)/1, $62
-DATA data+801(SB)/1, $0
+DATA data+888(SB)/1, $60
+DATA data+889(SB)/1, $117
+DATA data+890(SB)/1, $110
+DATA data+891(SB)/1, $107
+DATA data+892(SB)/1, $110
+DATA data+893(SB)/1, $111
+DATA data+894(SB)/1, $119
+DATA data+895(SB)/1, $110
+DATA data+896(SB)/1, $62
+DATA data+897(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:428:36
//--- String buffer start (', size: ') at libgogo/symbol.go:430:31
-DATA data+824(SB)/1, $44
-DATA data+825(SB)/1, $32
-DATA data+826(SB)/1, $115
-DATA data+827(SB)/1, $105
-DATA data+828(SB)/1, $122
-DATA data+829(SB)/1, $101
-DATA data+830(SB)/1, $58
-DATA data+831(SB)/1, $32
-DATA data+832(SB)/1, $0
+DATA data+920(SB)/1, $44
+DATA data+921(SB)/1, $32
+DATA data+922(SB)/1, $115
+DATA data+923(SB)/1, $105
+DATA data+924(SB)/1, $122
+DATA data+925(SB)/1, $101
+DATA data+926(SB)/1, $58
+DATA data+927(SB)/1, $32
+DATA data+928(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:430:31
//--- String buffer start (', offset: ') at libgogo/symbol.go:433:33
-DATA data+856(SB)/1, $44
-DATA data+857(SB)/1, $32
-DATA data+858(SB)/1, $111
-DATA data+859(SB)/1, $102
-DATA data+860(SB)/1, $102
-DATA data+861(SB)/1, $115
-DATA data+862(SB)/1, $101
-DATA data+863(SB)/1, $116
-DATA data+864(SB)/1, $58
-DATA data+865(SB)/1, $32
-DATA data+866(SB)/1, $0
+DATA data+952(SB)/1, $44
+DATA data+953(SB)/1, $32
+DATA data+954(SB)/1, $111
+DATA data+955(SB)/1, $102
+DATA data+956(SB)/1, $102
+DATA data+957(SB)/1, $115
+DATA data+958(SB)/1, $101
+DATA data+959(SB)/1, $116
+DATA data+960(SB)/1, $58
+DATA data+961(SB)/1, $32
+DATA data+962(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:433:33
//--- String buffer start (')\n') at libgogo/symbol.go:436:26
-DATA data+888(SB)/1, $41
-DATA data+889(SB)/1, $10
-DATA data+890(SB)/1, $0
+DATA data+984(SB)/1, $41
+DATA data+985(SB)/1, $10
+DATA data+986(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:436:26
//--- String buffer start ('Type ') at libgogo/symbol.go:449:28
-DATA data+912(SB)/1, $84
-DATA data+913(SB)/1, $121
-DATA data+914(SB)/1, $112
-DATA data+915(SB)/1, $101
-DATA data+916(SB)/1, $32
-DATA data+917(SB)/1, $0
+DATA data+1008(SB)/1, $84
+DATA data+1009(SB)/1, $121
+DATA data+1010(SB)/1, $112
+DATA data+1011(SB)/1, $101
+DATA data+1012(SB)/1, $32
+DATA data+1013(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:449:28
//--- String buffer start (' (size: ') at libgogo/symbol.go:456:31
-DATA data+936(SB)/1, $32
-DATA data+937(SB)/1, $40
-DATA data+938(SB)/1, $115
-DATA data+939(SB)/1, $105
-DATA data+940(SB)/1, $122
-DATA data+941(SB)/1, $101
-DATA data+942(SB)/1, $58
-DATA data+943(SB)/1, $32
-DATA data+944(SB)/1, $0
+DATA data+1032(SB)/1, $32
+DATA data+1033(SB)/1, $40
+DATA data+1034(SB)/1, $115
+DATA data+1035(SB)/1, $105
+DATA data+1036(SB)/1, $122
+DATA data+1037(SB)/1, $101
+DATA data+1038(SB)/1, $58
+DATA data+1039(SB)/1, $32
+DATA data+1040(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:456:31
//--- String buffer start (')\n') at libgogo/symbol.go:459:26
-DATA data+968(SB)/1, $41
-DATA data+969(SB)/1, $10
-DATA data+970(SB)/1, $0
+DATA data+1064(SB)/1, $41
+DATA data+1065(SB)/1, $10
+DATA data+1066(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:459:26
//--- String buffer start (' ') at libgogo/symbol.go:461:29
-DATA data+992(SB)/1, $32
-DATA data+993(SB)/1, $32
-DATA data+994(SB)/1, $0
+DATA data+1088(SB)/1, $32
+DATA data+1089(SB)/1, $32
+DATA data+1090(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:461:29
//--- String buffer start (' (type: ') at libgogo/symbol.go:463:35
-DATA data+1016(SB)/1, $32
-DATA data+1017(SB)/1, $40
-DATA data+1018(SB)/1, $116
-DATA data+1019(SB)/1, $121
-DATA data+1020(SB)/1, $112
-DATA data+1021(SB)/1, $101
-DATA data+1022(SB)/1, $58
-DATA data+1023(SB)/1, $32
-DATA data+1024(SB)/1, $0
+DATA data+1112(SB)/1, $32
+DATA data+1113(SB)/1, $40
+DATA data+1114(SB)/1, $116
+DATA data+1115(SB)/1, $121
+DATA data+1116(SB)/1, $112
+DATA data+1117(SB)/1, $101
+DATA data+1118(SB)/1, $58
+DATA data+1119(SB)/1, $32
+DATA data+1120(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:463:35
//--- String buffer start ('pointer to ') at libgogo/symbol.go:465:42
-DATA data+1048(SB)/1, $112
-DATA data+1049(SB)/1, $111
-DATA data+1050(SB)/1, $105
-DATA data+1051(SB)/1, $110
-DATA data+1052(SB)/1, $116
-DATA data+1053(SB)/1, $101
-DATA data+1054(SB)/1, $114
-DATA data+1055(SB)/1, $32
-DATA data+1056(SB)/1, $116
-DATA data+1057(SB)/1, $111
-DATA data+1058(SB)/1, $32
-DATA data+1059(SB)/1, $0
+DATA data+1144(SB)/1, $112
+DATA data+1145(SB)/1, $111
+DATA data+1146(SB)/1, $105
+DATA data+1147(SB)/1, $110
+DATA data+1148(SB)/1, $116
+DATA data+1149(SB)/1, $101
+DATA data+1150(SB)/1, $114
+DATA data+1151(SB)/1, $32
+DATA data+1152(SB)/1, $116
+DATA data+1153(SB)/1, $111
+DATA data+1154(SB)/1, $32
+DATA data+1155(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:465:42
//--- String buffer start ('array of ') at libgogo/symbol.go:469:44
-DATA data+1080(SB)/1, $97
-DATA data+1081(SB)/1, $114
-DATA data+1082(SB)/1, $114
-DATA data+1083(SB)/1, $97
-DATA data+1084(SB)/1, $121
-DATA data+1085(SB)/1, $32
-DATA data+1086(SB)/1, $111
-DATA data+1087(SB)/1, $102
-DATA data+1088(SB)/1, $32
-DATA data+1089(SB)/1, $0
+DATA data+1176(SB)/1, $97
+DATA data+1177(SB)/1, $114
+DATA data+1178(SB)/1, $114
+DATA data+1179(SB)/1, $97
+DATA data+1180(SB)/1, $121
+DATA data+1181(SB)/1, $32
+DATA data+1182(SB)/1, $111
+DATA data+1183(SB)/1, $102
+DATA data+1184(SB)/1, $32
+DATA data+1185(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:469:44
//--- String buffer start (' of length ') at libgogo/symbol.go:471:46
-DATA data+1112(SB)/1, $32
-DATA data+1113(SB)/1, $111
-DATA data+1114(SB)/1, $102
-DATA data+1115(SB)/1, $32
-DATA data+1116(SB)/1, $108
-DATA data+1117(SB)/1, $101
-DATA data+1118(SB)/1, $110
-DATA data+1119(SB)/1, $103
-DATA data+1120(SB)/1, $116
-DATA data+1121(SB)/1, $104
-DATA data+1122(SB)/1, $32
-DATA data+1123(SB)/1, $0
+DATA data+1208(SB)/1, $32
+DATA data+1209(SB)/1, $111
+DATA data+1210(SB)/1, $102
+DATA data+1211(SB)/1, $32
+DATA data+1212(SB)/1, $108
+DATA data+1213(SB)/1, $101
+DATA data+1214(SB)/1, $110
+DATA data+1215(SB)/1, $103
+DATA data+1216(SB)/1, $116
+DATA data+1217(SB)/1, $104
+DATA data+1218(SB)/1, $32
+DATA data+1219(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:471:46
//--- String buffer start (', internally named ') at
libgogo/symbol.go:473:54
-DATA data+1144(SB)/1, $44
-DATA data+1145(SB)/1, $32
-DATA data+1146(SB)/1, $105
-DATA data+1147(SB)/1, $110
-DATA data+1148(SB)/1, $116
-DATA data+1149(SB)/1, $101
-DATA data+1150(SB)/1, $114
-DATA data+1151(SB)/1, $110
-DATA data+1152(SB)/1, $97
-DATA data+1153(SB)/1, $108
-DATA data+1154(SB)/1, $108
-DATA data+1155(SB)/1, $121
-DATA data+1156(SB)/1, $32
-DATA data+1157(SB)/1, $110
-DATA data+1158(SB)/1, $97
-DATA data+1159(SB)/1, $109
-DATA data+1160(SB)/1, $101
-DATA data+1161(SB)/1, $100
-DATA data+1162(SB)/1, $32
-DATA data+1163(SB)/1, $0
+DATA data+1240(SB)/1, $44
+DATA data+1241(SB)/1, $32
+DATA data+1242(SB)/1, $105
+DATA data+1243(SB)/1, $110
+DATA data+1244(SB)/1, $116
+DATA data+1245(SB)/1, $101
+DATA data+1246(SB)/1, $114
+DATA data+1247(SB)/1, $110
+DATA data+1248(SB)/1, $97
+DATA data+1249(SB)/1, $108
+DATA data+1250(SB)/1, $108
+DATA data+1251(SB)/1, $121
+DATA data+1252(SB)/1, $32
+DATA data+1253(SB)/1, $110
+DATA data+1254(SB)/1, $97
+DATA data+1255(SB)/1, $109
+DATA data+1256(SB)/1, $101
+DATA data+1257(SB)/1, $100
+DATA data+1258(SB)/1, $32
+DATA data+1259(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:473:54
//--- String buffer start ('<unknown>') at libgogo/symbol.go:482:40
-DATA data+1184(SB)/1, $60
-DATA data+1185(SB)/1, $117
-DATA data+1186(SB)/1, $110
-DATA data+1187(SB)/1, $107
-DATA data+1188(SB)/1, $110
-DATA data+1189(SB)/1, $111
-DATA data+1190(SB)/1, $119
-DATA data+1191(SB)/1, $110
-DATA data+1192(SB)/1, $62
-DATA data+1193(SB)/1, $0
+DATA data+1280(SB)/1, $60
+DATA data+1281(SB)/1, $117
+DATA data+1282(SB)/1, $110
+DATA data+1283(SB)/1, $107
+DATA data+1284(SB)/1, $110
+DATA data+1285(SB)/1, $111
+DATA data+1286(SB)/1, $119
+DATA data+1287(SB)/1, $110
+DATA data+1288(SB)/1, $62
+DATA data+1289(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:482:40
//--- String buffer start (', size: ') at libgogo/symbol.go:484:35
-DATA data+1216(SB)/1, $44
-DATA data+1217(SB)/1, $32
-DATA data+1218(SB)/1, $115
-DATA data+1219(SB)/1, $105
-DATA data+1220(SB)/1, $122
-DATA data+1221(SB)/1, $101
-DATA data+1222(SB)/1, $58
-DATA data+1223(SB)/1, $32
-DATA data+1224(SB)/1, $0
+DATA data+1312(SB)/1, $44
+DATA data+1313(SB)/1, $32
+DATA data+1314(SB)/1, $115
+DATA data+1315(SB)/1, $105
+DATA data+1316(SB)/1, $122
+DATA data+1317(SB)/1, $101
+DATA data+1318(SB)/1, $58
+DATA data+1319(SB)/1, $32
+DATA data+1320(SB)/1, $0
//--- String buffer end at libgogo/symbol.go:484:35
//--- String buffer start (', offset: ') at libgogo/symbol.go:487:37
-DATA data+1248(SB)/1, $44
-DATA data+1249(SB)/1, $32
-DATA data+1250(SB)/1, $111
-DATA data+1251(SB)/1, $102
-DATA data+1252(SB)/1, $102
-DATA data+1253(SB)/1, $115
-DATA data+1254(SB)/1, $101
-DATA data+1255(SB)/1, $116
-DATA data+1256(SB)/1, $58
-DATA data+1257(SB)/1, $32
-DATA data+1258(SB)/1, $0
+DATA data+1344(SB)/1, $44
+DATA data+1345(SB)/1, $32
+DATA data+1346(SB)/1, $111
+DATA data+1347(SB)/1, $102
+DATA data+1348(SB)/1, $102
+DATA data+1349(SB)/1, $115
***The diff for this file has been truncated for email.***
=======================================
--- /src/asm_out.go Sun Jun 20 00:26:19 2010
+++ /src/asm_out.go Sun Jun 20 04:06:32 2010
@@ -134,34 +134,36 @@
OutputStringPtr = &DataSegment;
}

-func PrintCodeOutput(output string) {
+func SplitStringIfNecessary(appendLength uint64) {
var tempPtr *string;
var oldLength uint64;
- var appendLength uint64;
oldLength = libgogo.StringLength2(OutputStringPtr);
- appendLength = libgogo.StringLength(output);
if oldLength + appendLength >= 65534 { //If code output exceeds max.
string size allowed by Go runtime...
tempPtr = &DataSegment;
if OutputStringPtr == tempPtr {
libgogo.AddStringItem(&DataSegmentList, DataSegment);
//...save the current code to the code list...
- //DataSegment = "";
}
tempPtr = &InitCodeSegment;
if OutputStringPtr == tempPtr {
libgogo.AddStringItem(&InitCodeSegmentList, InitCodeSegment);
//...save the current code to the code list...
- //InitCodeSegment = "";
}
tempPtr = &CodeSegment;
if OutputStringPtr == tempPtr {
libgogo.AddStringItem(&CodeSegmentList, CodeSegment);
//...save the current code to the code list...
- //CodeSegment = "";
}
libgogo.ResetString(OutputStringPtr); //... and start over with a
new output string
}
+}
+
+func PrintCodeOutput(output string) {
+ var appendLength uint64;
+ appendLength = libgogo.StringLength(output);
+ SplitStringIfNecessary(appendLength);
libgogo.StringAppend(OutputStringPtr, output);
}

func PrintCodeOutputChar(output byte) {
+ SplitStringIfNecessary(1);
libgogo.CharAppend(OutputStringPtr, output);
}

=======================================
--- /src/compile_lib Sun Jun 20 00:26:19 2010
+++ /src/compile_lib Sun Jun 20 04:06:32 2010
@@ -1,3 +1,3 @@
#!/bin/sh

-./gogo -c test.go libgogo/convert.go libgogo/convert_amd64.s libgogo/io.go
libgogo/io_amd64.s libgogo/list.go libgogo/memmgr.go libgogo/memmgr_amd64.s
libgogo/strlist.go libgogo/symbol.go libgogo/symbol_amd64.s
libgogo/string.go libgogo/string_amd64.s libgogo/item.go
libgogo/item_amd64.s libgogo/libgogo.go libgogo/libgogo_amd64.s
+./gogo -c fib.go libgogo/convert.go libgogo/convert_amd64.s libgogo/io.go
Reply all
Reply to author
Forward
0 new messages