All together now ;-)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

All together now ;-)

Andreas.Raab
Hi Guys -

You probably noticed that I was busy working on the latest Croquet VMs -
the whole set of issues and changes that I am dealing with right now are
for Croquet 1.0. It seems like things are settling down now (at least I
have no obvious things on my TODO list any longer) and a consolidated
version of VMMaker which includes all the issues discussed here is
available at the repository at:

   http://hedgehog.software.umn.edu:8888/Homebase.html

Tim - This (or perhaps the version two weeks from now ;-) is probably a
good version for you to merge back into the main line when you find the
time for it. There aren't many changes, just what I was dealing with in
general (FloatMathPlugin, Tests, CroquetPlugin, SocketPlugin) so
integration should be straightforward.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: All together now ;-)

timrowledge

On 26-Mar-06, at 10:05 PM, Andreas Raab wrote:
>
>   http://hedgehog.software.umn.edu:8888/Homebase.html
>
> Tim - This (or perhaps the version two weeks from now ;-) is  
> probably a good version for you to merge back into the main line  
> when you find the time for it. There aren't many changes, just what  
> I was dealing with in general (FloatMathPlugin, Tests,  
> CroquetPlugin, SocketPlugin) so integration should be straightforward.

Notes from looking at the diffs -
AsynchFilePlugin
What about #primitiveAsyncFileWriteStart:fPosition:fromBuffer:at:  
count: Seems to need a fix from 'int' to 'sqInt' but you missed it.  
Or was that deliberate for some inscrutable reason?

B3DAcceleratorPlugin
Are you wanting that added to VMMaker? IIRC it has heretofore been  
kept in the Balloon3D package.

CroquetPlugin
Do you want that in the VMM package too?
- any dependencies in image to worry about? Things in shared pools  
come to mind.

FilePlugin
many removals of oopForPointer: ? Seems wrong to me. oopForPointer is  
pretty important according to Ian's writeup on 64 bit changes. Though  
it (the macro at least) probably does need fixing for cases were  
sqMemoryBase is non-0.

FloatMathPlugin
- I couldn't see code beyond the class decl in your .49 package. Do  
you want it in VMM?
And what about the tests? Not for VMMaker inclusion in my view.

Mpeg3Plugin
Use of file name checking call bothers me. John, why is there a  
rather pointless indirection of sqFilenameFromStringOpen through  
ioFilenamefromStringofLengthresolveAliases ? Is the resolve alisases  
nonsense even needed now you've changed to OSX support only and using  
unix style filenames?



tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SDR: Shift Disk Right



Reply | Threaded
Open this post in threaded view
|

Re: All together now ;-)

Andreas.Raab
Hi Tim -

> AsynchFilePlugin
> What about #primitiveAsyncFileWriteStart:fPosition:fromBuffer:at: count:
> Seems to need a fix from 'int' to 'sqInt' but you missed it. Or was that
> deliberate for some inscrutable reason?

Something's wrong here... since I didn't touch that at all. It should be
the same version that is on SqueakMap. Ditto for FilePlugin and
oopForPointer: - I haven't touched FilePlugin at all.

> B3DAcceleratorPlugin
> Are you wanting that added to VMMaker? IIRC it has heretofore been kept
> in the Balloon3D package.

Yes. Balloon3D is dead (has been for a couple of years now).

> CroquetPlugin
> Do you want that in the VMM package too?
> - any dependencies in image to worry about? Things in shared pools come
> to mind.

Currently, there are no dependencies. Whether it should be kept in
VMMaker ... good question. I think it might make things easier for
everyone involved (any contrary opinions?).

> FloatMathPlugin
> - I couldn't see code beyond the class decl in your .49 package. Do you
> want it in VMM?
> And what about the tests? Not for VMMaker inclusion in my view.

Yes, this should definitely go into VMMaker. I also think we should have
those "FloatMathPluginTests" in VMMaker because they make sure that the
primitives in the plugin function properly (and are therefore mostly
needed for the person building the VM). I have essentially the same
tests duplicated in the CroquetVMTests to ensure that (for example) the
implementation of Float>>exp adheres to the requirement, but that seems
independent from the VM builder's side.

> Mpeg3Plugin
> Use of file name checking call bothers me. John, why is there a rather
> pointless indirection of sqFilenameFromStringOpen through
> ioFilenamefromStringofLengthresolveAliases ? Is the resolve alisases
> nonsense even needed now you've changed to OSX support only and using
> unix style filenames?

I'll leave this one for John.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: All together now ;-)

Bryce Kampjes
Andreas,

How does your new FloatMathPlugin work with the existing floating
point? Is it meant to replace all other floating point calculations?
I can see how that would be advantageous for some applications but for
others the speed of hardware floating point may be more important.

OK, for now, the library you're using may be as fast as the
interpreter but adding some basic floating point support to Exupery
would be fairly easy.

Bryce

P.S. Andreas, I sent this directly to you by mistake. I meant
to send to the list.

Reply | Threaded
Open this post in threaded view
|

Re: All together now ;-)

Andreas.Raab
Bryce Kampjes wrote:
> P.S. Andreas, I sent this directly to you by mistake. I meant
> to send to the list.

Well, then here's my reply to the list:

 > How does your new FloatMathPlugin work with the existing floating
 > point? Is it meant to replace all other floating point calculations?

If you mean basic operations like add, subtract, divide, multiply by
"all other calculations", then no. FloatMathPlugin includes only the
following functions: acos, acosh, asin, asinh, atan, atan2, atanh, cos,
cosh, exp, fmod, modf, hypot, log10, log, sin, sinh, sqrt, tan, tanh, ldexp.

 > I can see how that would be advantageous for some applications but for
 > others the speed of hardware floating point may be more important.

With the exception of sqrt I have found the functions in fdlibm to be
exceedingly fast (to the point of performing on par or better with the C
library functions when compiled in a static C program, e.g., not
counting any additional overhead for allocation etc). And sqrt is
(fortunately) fairly well-defined so that (on Intel at least) we can use
the hardware fsqrt instead of the fdlibm version. I'm hoping that this
will be true in general (but we'll find out soon).

 > OK, for now, the library you're using may be as fast as the
 > interpreter but adding some basic floating point support to Exupery
 > would be fairly easy.

Basic floating point support would not speed up any of the above
functions. Neither do the above functions do basic floating point
support. These issues are fairly unrelated.

Cheers,
   - Andreas


Reply | Threaded
Open this post in threaded view
|

Re: All together now ;-)

johnmci
In reply to this post by timrowledge

On 28-Mar-06, at 11:17 AM, tim Rowledge wrote:

> Mpeg3Plugin
> Use of file name checking call bothers me. John, why is there a  
> rather pointless indirection of sqFilenameFromStringOpen through  
> ioFilenamefromStringofLengthresolveAliases ? Is the resolve  
> alisases nonsense even needed now you've changed to OSX support  
> only and using unix style filenames?

The resolve aliases nonsense is still needed because you still can  
make hfs+ alias files in os-x, so then the question is at any point
are you opening the alias or opening the file the alias points to?

I'll fix the pointless pointless indirection of  
sqFilenameFromStringOpen through  
ioFilenamefromStringofLengthresolveAliases

>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: SDR: Shift Disk Right
>
>

--
========================================================================
===
John M. McIntosh <[hidden email]> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===