[Pharo-project] Support for stdout without OSProcess (issue 4065)
stephane.ducasse at inria.fr
Sun May 15 23:11:50 CEST 2011
this is what I guessed and I opened a ticket 4233 to check that.
On May 15, 2011, at 11:09 PM, David T. Lewis wrote:
> On Sun, May 15, 2011 at 07:06:35PM +0200, St?phane Ducasse wrote:
>> how do we use it from the image to print on stdout?
> Of course I just use OSProcess ;-) But in Squeak trunk (http://source.squeak.org/trunk)
> the stdio updates are in Files-ul.96 and Files-ul.97.
> Name: Files-ul.96
> Author: ul
> Time: 24 January 2011, 3:45:32.858 am
> UUID: d06be799-4c77-3b46-aff8-4abc589fafd3
> Ancestors: Files-mtf.95
> Stdio support changes:
> - Added stdio support code to FileStream.
> - Unified API for accessing stdio streams. All users should send #stdin, #stdout and #stderr to FileStream to access the streams.
> - MultiByteFileStream is used instead of CrLfFileStream.
> - CrLfFileStream class >> #new is now deprecated
> Name: Files-ul.97
> Author: ul
> Time: 24 January 2011, 3:59:59.143 am
> UUID: 6f9985b2-9bce-a145-a3d2-276a76ce1fa7
> Ancestors: Files-ul.96
> - removed previous stdio support code from StandardFileStream, migration is done in the preamble
>> On May 15, 2011, at 6:55 PM, David T. Lewis wrote:
>>> On Sun, May 15, 2011 at 06:44:30PM +0200, Stefan Marr wrote:
>>>> What needs to be done for issue 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?
>>> 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