[Pharo-project] Support for stdout without OSProcess (issue 4065)

David T. Lewis lewis at mail.msen.com
Sun May 15 18:55:40 CEST 2011

On Sun, May 15, 2011 at 06:44:30PM +0200, Stefan Marr wrote:
> Hi:
> What needs to be done for issue 4065?
> http://code.google.com/p/pharo/issues/detail?id=4065
> I would like to have an easy way to provide compatibility for the RoarVM primitive RVMOperations>print: which really just dumps a string to stdout. So, ideally, I don't want to many dependencies like OSProcess in SMark.
> What would need to be done for that? The issue is not to verbose.
> Is it a missing print primitive in the VM?
> Thanks
> Stefan

FilePlugin>>primitiveFileStdioHandles is present in both the interpreter
VM and Cog. It was added to the interpreter VM (SqueakSource/VMMaker) here:

Name: VMMaker-dtl.213
Author: dtl
Time: 28 December 2010, 2:06:59 am
UUID: f2524f34-cfcb-46ea-80b6-81402f9a875f
Ancestors: VMMaker-dtl.212

VMMaker 4.4.4

Add FilePlugin>>primitiveFileStdioHandles adapted from oscog.
Reference Mantis 0007591: Add #primitiveFileStdioHandles to standard VM

Notes r.e. adopting the oscog implementation of primitiveFileStdioHandles:

Cog primitive uses "interpreterProxy topRemappableOop" which is defined for VM_PROXY_MINOR > 9 but standard VM support code is at VM_PROXY_MINOR 8 (Cog is at VM_PROXY_MINOR 11). Work around this by popping and pushing the result array rather than using topRemappableOop.

Cog uses primitive failure return codes not yet supported in the interpreter VM. The primitive return codes need to be adopted in standard VM but this is not yet done.

More information about the Pharo-project mailing list