[squeak-dev] Squeak Carbon OS-X VM 3.8.19beta1U ships
stephane ducasse
stephane.ducasse at free.fr
Wed Oct 29 07:13:18 UTC 2008
On Oct 29, 2008, at 2:31 AM, John M McIntosh wrote:
> This VM has a number of fundamental changes and can be found
> via ftp or my idisk at http://www.smalltalkconsulting.com/squeak.html
>
> (a) I have changed how image files are read.
>
> Users should verify the VM still will load and work with their
> current images on their current systems. I have tested with macintel
> on 10.5.x and powerpc on 10.4.x but have NOT tested on a 10.3.x
> powerpc system, if some 10.3.x user could do that it would be
> appreciated.
>
> (b) I no longer cwd (change working directory) at startup time to
> the VM directory, and I added a change so if the image name is for
> example Squeak.image we attempt to find that in the VM directory.
> This change *should* enable the ablility to launch a VM and image
> and startup file from a command line using relative file paths,
> versus having to give absolute paths.
cool thanks I will try that.!
>
>
> Users are welcome to test and confirm this feature works as expected
> with relative and absolute paths for the image and startup file.
>
> Memory allocation background:
>
> In the past we have read the image file into a pre-allocated chunk
> of memory allocated via mmap, now I have changed to a more
> complicated but faster method of reading which then allows us to
> someday depending on your VM to avoid re-swizzling pointers for an
> image that is launched on a unix, windows, or iPhone since all oops
> should start on the 500MB boundary.
>
> What happens is we mmap the image file with copy on write mmap into
> a segment of memory starting at a real address of 500MB
> (500*1024*1024), the next virtual memory page follow the size of the
> file then is anonymously mmap upto the maximum memory size choosen
> for the implmentation. In this case we allocate 512MB of memory
> which is a settable option in the info.plist.
>
> Because of mmap differences between operating systems, and versions
> of operating systems I cannot say if this will work on your
> favourite device, but it does seem to work on os-x 10.4 & 10.5 for
> powerpc and macintel, plus on iPhone 2.x.
>
> Post loading we check to see if the memory start location is the
> same as the memory start location when the image was saved. If not
> then we adjust all oops pointers by the difference in addresses. If
> the saved image was at the 500MB boundary then we do not need to
> walk all the oops to swizzle pointers, this saves some CPU cycle and
> becomes important on slow devices like the iPhone, or when we want
> to use Squeak as a scripting engine and expect really fast startup.
>
> --
> =
> =
> =
> =
> =
> ======================================================================
> John M. McIntosh <johnmci at smalltalkconsulting.com>
> Corporate Smalltalk Consulting Ltd. http://
> www.smalltalkconsulting.com
> =
> =
> =
> =
> =
> ======================================================================
>
>
>
>
>
More information about the Squeak-dev
mailing list
|