View previous topic :: View next topic |
Author |
Message |
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Thu Jun 14, 2007 7:54 pm Post subject: Son of Status Log |
|
|
New log here for new efforts.
Today I finally got some time set aside to tackle the remaining issues for DDL's migration to Tango. So far things compile and look good from the utilities side of things - I still have yet to touch the test suite.
The biggest problem ATM is demangling. For some reason, things are not coming out right. As near as I can tell, Phobos' implementation of demangle is out of sync with DMD 1.x - Walter must have changed the compiler's behavior, but neglected demangle.d.
In general I've noticed a few new conventions:
- Various class meta-symbols like __init and __vtbl now end in 'Z'
- Member functions are now distinguished from free functions by 'MF'
Anyway, this stuff shouldn't be "rocket surgery" to fix...
Code for test3.d:
Code: |
class Foobar{
uint gorf(int a){
return 0;
}
}
|
A pass of ddlinfo, with tangobos demangle's best attempt at interpreting symbolic information:
Code: |
>ddlinfo test3.obj
filename: 'test3.obj'
type: 'OMF'
attributes:
omf.filename - test3.obj
Modules (1):
test3.d
Symbols (13):
weak MFiZk test3.Foobar.gorf
unresolved Z ModuleInfo.__vtbl
unresolved MFC6ObjectZi object.Object.opEquals
unresolved MFC6ObjectZi object.Object.opCmp
unresolved MFZk object.Object.toHash
unresolved MFZAa object.Object.toUtf8
unresolved Z Object.__Class
unresolved Z ClassInfo.__vtbl
unresolved void invariant._d_invariant(class Object)
strong Z test3.Foobar.__init
strong Z test3.Foobar.__Class
strong Z test3.Foobar.__vtbl
strong Z test3.__ModuleInfo
|
Raw symbol dump:
Code: |
>ddlinfo test3.obj -r
filename: 'test3.obj'
type: 'OMF'
attributes:
omf.filename - test3.obj
Modules (1):
test3.d
Symbols (13):
weak _D5test36Foobar4gorfMFiZk
unresolved _D10ModuleInfo6__vtblZ
unresolved _D6object6Object8opEqualsMFC6ObjectZi
unresolved _D6object6Object5opCmpMFC6ObjectZi
unresolved _D6object6Object6toHashMFZk
unresolved _D6object6Object6toUtf8MFZAa
unresolved _D6Object7__ClassZ
unresolved _D9ClassInfo6__vtblZ
unresolved _D9invariant12_d_invariantFC6ObjectZv
strong _D5test36Foobar6__initZ
strong _D5test36Foobar7__ClassZ
strong _D5test36Foobar6__vtblZ
strong _D5test312__ModuleInfoZ
|
Map file dump (for sanity's sake):
Code: |
0001:0080 _D5test312__ModuleInfoZ
0000:0000 _D5test36Foobar4gorfMFiZk
0001:0000 _D5test36Foobar6__initZ
0001:0060 _D5test36Foobar6__vtblZ
0001:0018 _D5test36Foobar7__ClassZ
|
_________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sun Jun 17, 2007 8:42 pm Post subject: |
|
|
Okay, demangling has been improved and etc/demangle.d is now up to speed with what is needed by DDL. Since this marks a behavior change from the Phobos-style demangling, I'm considering folding it (once again) back into ddl.Demangle.
On the Insitu Lib front, the library is still dependent upon Phobos zip. Moreover, it was brought to my attention some time ago that this was the source of some memory problems. So I'm looking into rolling a dead-simple compression algorithm to compress the symbol information instead. That way, DDL won't need to pull in the entire zlib library.
The tutorials have also been touched, and the examples/ tree now includes the sources for all the published tutorials thus far. I think I'm going to move towards retiring the /test tree, and using the example code as more of a library test suite instead. The rest of the various tests will be moved into module unit-tests as well. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
BLS
Joined: 28 Mar 2006 Posts: 44 Location: France
|
Posted: Tue Jul 17, 2007 6:29 am Post subject: |
|
|
pragma wrote: |
On the Insitu Lib front, the library is still dependent upon Phobos zip. Moreover, it was brought to my attention some time ago that this was the source of some memory problems. So I'm looking into rolling a dead-simple compression algorithm to compress the symbol information instead. That way, DDL won't need to pull in the entire zlib library.
|
Hi Eric,
Why not using LZW compression ?
Bjoern
http://marknelson.us/attachments/lzw-data-compression/lzw.c |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Tue Jul 17, 2007 7:58 am Post subject: |
|
|
Umm... because nobody had the heart to drop such a succinct compression format in my lap before.
Thanks! _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
|