Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <MrGwen> bonzini: I've removed the ObjectTable
- <bonzini> ??!?!?!? :)
- * zecke (~ich@91-64-83-241-dynip.superkabel.de) ha entrat a #gnu-smalltalk
- <MrGwen> yep :D
- <bonzini> how is performance?
- <bonzini> you're batshit crazy :)
- <zecke> hi
- <MrGwen> :)
- <bonzini> examples/Bench.st will do :)
- <MrGwen> :)
- <MrGwen> I've removed the compiler/bootstrapper and only generate images from a st bootstrap
- <MrGwen> also multiple kernels in the VM
- <bonzini> ahah
- <bonzini> gimme those numbers for the OT come on!
- <bonzini> :)
- * bonzini only 13 to go
- <bonzini> also, how do you handle objects that move during GC?
- <bonzini> kind of like the incubator does with the OT?
- <MrGwen> I've no GC right now
- <bonzini> aaaah :) :)
- <MrGwen> I've do to one but don't know what will be the design
- <MrGwen> I've time
- <bonzini> you can reuse 99% of the code in mine, i think
- <MrGwen> yes but I'm not sure if I won't use a kind of // gc
- <bonzini> the current GC can be made parallel
- <bonzini> just replace the marking stack with a lock-free stack
- <bonzini> the copying phase is not parallel, true, but it is very short
- <bonzini> and update the REACHABLE bits atomically
- <MrGwen> true
- <MrGwen> i've broke also readline stuff and I plan to do it in the image too, by the way I generate small images (1 mo for 64 bits)
- <bonzini> :)
- <MrGwen> removing all the objects known (and the compiler, parser, ...) by the vm makes the vm easier to hack
- <bonzini> yep, how do you bootstrap?
- <bonzini> that'd be the first part i'd like to merge
- <MrGwen> simple i load everything in a namespace and I've made a kind of objectdumper too but I control if I don't escape the world
- <bonzini> so how do you build your loading format from kernel/*
- <MrGwen> I load files from kernel (updated a bit) and inject them in a namespace
- <MrGwen> I follow the graph and save the objects
- <bonzini> you distribute a binary then
- <MrGwen> yep
- <MrGwen> an image
- <bonzini> and you have a C loader for the objectdumper
- <bonzini> ?
- <MrGwen> yes
- <MrGwen> I load the image and fix the pointers
- <MrGwen> I use your infrastructure
- <bonzini> do you save the image from Smalltalk code (SystemTracer), or is it a different format?
- <MrGwen> the format is a bit diff since I take care of object alignment (like your allocator)
- <MrGwen> correct me If I am wrong
- <bonzini> yes, i think i understand
- <bonzini> it's ugly though to distribute a binary...
- <bonzini> you cannot build from ./configure && make
- <MrGwen> I think the model could be C world (parser/compiler) generate a simple image => from the image generate a full image
- <MrGwen> the cworld would send no messages but only see objects as structures
- <bonzini> or, move the parser/compiler to a separate user of libgst
- <bonzini> and out of libgst
- <bonzini> it would break the ABI though
- <MrGwen> good idea
- <MrGwen> Paolo I've break too much stuff :D
- <bonzini> and move the REPL to a smalltalk script like gst-load etc.
- <bonzini> now you have to fix it :
- <bonzini> )
- <MrGwen> Also the context allocation is refactored in a way allowing the vm to have multiple smalltalk stacks
- * MrGwen has a lot of work
- <MrGwen> for become there is the solution described in the "Third generational Smalltalk" paper they put a bit on the object header if it is set to one this is "proxy" I 've to investigate on it
Add Comment
Please, Sign In to add comment