D - bytecode & co.
- Alexander Lahmann (19/19) Aug 31 2002 Hi *,
- Russ Lewis (15/30) Sep 04 2002 Current compilers don't do this, but you could write a backend for GCC t...
Hi *, I 'm interested in using D as a script language in an image processing system. It is very important for this application that the scripts are executed as fast as possible. To achieve this, the following needs exist: - the D compiler should be able to produce bytecode - the final bytecode file should not contain "native" code (from the D inline assembler) - when objects are released (or the last object reference is removed), the "virtual machine" should notified - to have the flexibility to implement a GC-style system or directly using object destruction. As you can see, I 'd like to use D in an embedded system and don't like the idea to use garbage collection in a memory-limited device. Is something like this already available? How am I able to create my own "bytecode" from D source? Best regards, Mark Junker
Aug 31 2002
Alexander Lahmann wrote:Hi *, I 'm interested in using D as a script language in an image processing system. It is very important for this application that the scripts are executed as fast as possible. To achieve this, the following needs exist: - the D compiler should be able to produce bytecodeCurrent compilers don't do this, but you could write a backend for GCC to produce your bytecode. (There is currently a project in the works to write a D frontend for GCC).- the final bytecode file should not contain "native" code (from the D inline assembler)I don't know if any of the current frontends do this, but it seems simple enough to disable this feature...- when objects are released (or the last object reference is removed), the "virtual machine" should notified - to have the flexibility to implement a GC-style system or directly using object destruction.As you can see, I 'd like to use D in an embedded system and don't like the idea to use garbage collection in a memory-limited device.Just turn off the garbage collector, and do your own (C-style) memory management. Otherwise, you'll have to implement your own reference counting algorithm. That's possible, but difficult (especially if you want to handle loops safely). -- The Villagers are Online! villagersonline.com .[ (the fox.(quick,brown)) jumped.over(the dog.lazy) ] .[ (a version.of(English).(precise.more)) is(possible) ] ?[ you want.to(help(develop(it))) ]
Sep 04 2002