Re: VMMaker( Re: KCP & 3.6)

Tim Rowledge <[email protected]> Fri, 20 Jun 2003 19:09:53 -0700
Newsgroups gmane.comp.lang.smalltalk.squeak.foundation
Message-ID <[email protected]>
"PhiHo Hoang" <[email protected]> wrote:

>     Now I have Squeak.exe with 'SqueakFFIPrims' builtin.
>     This is cool.
Now just what is particularly cool about this? I don't get it. 
> 
>     Just for fun, 'FontPlugin', 'Mpeg3Plugin', RePlugin' were moved
>     to 'plugins.ext' together with 'SqueakFFIPrims' for another build
>     and got undefined references to
> 
>         1/- 'FontPlugin_exports',
>         2/- 'Mpeg3Plugin_exports'
>         3/- 'RePlugin_exports'
> 
>     These 3 plugins can no longer be built as external ?
>     'SqueakFFIPrims'  could be slided in and out with ease.
> 
>     Did I miss something ?
Yes. When you generate plugins as internal their list of exports is
incorporated into the generated vm/sqNamedPrimitives.h file. This is so
that the plugin code searching function can find the functions. See the
code in Cross/vm/sqNamedPrims.c for details. If you simply move the
plugins from plugins.int to plugins.ext you are now making the
sqNamedPrimitives.h file invalid and you will get that error. All
plugins can be built as internal or external as long as you use the
tools as they were designed to be used. As soon as you go beyond that
you should expect problems.

As I recall your code is mucking around with the way plugins are handled
in a very platform specific way so you are well outside the original
design spec of the tool.


tim
--
Tim Rowledge, [email protected], http://sumeru.stanford.edu/tim
Random access is the optimum of the mass storages.
From [email protected] Sat Jun 21 02:11:13 2003
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: (qmail 5588 invoked from network); 21 Jun 2003 02:11:13 -0000
Received: from sccrmhc13.comcast.net (HELO sccrmhc13.attbi.com)
	(204.127.202.64)
	by mail.theinternetone.net with SMTP; 21 Jun 2003 02:11:13 -0000
Received: from goldskin.attbi.com
	(12-234-54-55.client.attbi.com[12.234.54.55](misconfigured sender))
	by attbi.com (sccrmhc13) with SMTP
	id <20030621021111016009ubuge>; Sat, 21 Jun 2003 02:11:11 +0000
Date: Fri, 20 Jun 2003 18:52:09 -0700
From: Tim Rowledge <[email protected]>
To: [email protected]
Subject: Re: [Squeakfoundation]KCP & 3.6
Message-ID: <[email protected]>
References: <[email protected]>
In-Reply-To: <[email protected]>
User-Agent: Messenger-Pro/2.60a (MsgServe/2.00g) (RISC-OS/4.02)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-BeenThere: [email protected]
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Discussing the Squeak Foundation
	<[email protected]>
List-Id: Discussing the Squeak Foundation
 <squeakfoundation.lists.squeakfoundation.org>
List-Unsubscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=unsubscribe>
List-Archive: <http://lists.squeakfoundation.org/pipermail/squeakfoundation>
List-Post: <mailto:[email protected]>
List-Help: <mailto:[email protected]?subject=help>
List-Subscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=subscribe>
X-List-Received-Date: Sat, 21 Jun 2003 02:11:13 -0000


> This sounds reasonable to me.  If it's okay with Tim, we could 
> incorporate the current DecPools changes, and then wait until 3.7 to 
> worry about converting the rest of the pools.
That would be fine by me. I'm not overly worried that we can't convert
TextConstants yet (it's just work and not particularly difficult work at
that, just tedious) it's more the issues relating to backward
compatability. The fileout stuff and so on. For example if there is an
important project out there on Bob's Super Swiki that happens to include
code that tries to install a now-obsolete version of FFIConstants it
will just plain blow up. I assume there is some potential for catching
the problem and working round it but I haven't seen code. Then again I
haven't noticed a project with a problem. On the gripping hand I haven't
loaded a project since 3.2.

If there is somebody out there with some time and a yen to help, try
loading the dec pools stuff and then grab a bunch of projects and see
what happens. If you have a fast machine and broadband it probably won't
take terribly long. Hell, write a unit test to grab projects and load
them - it wouldn't be a bad thing to have as an acceptance test.

tim
--
Tim Rowledge, [email protected], http://sumeru.stanford.edu/tim
Strange OpCodes: PHP: Put Hackers into Privileged mode
From [email protected] Sat Jun 21 02:11:14 2003
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: (qmail 5596 invoked from network); 21 Jun 2003 02:11:14 -0000
Received: from sccrmhc13.comcast.net (HELO sccrmhc13.attbi.com)
	(204.127.202.64)
	by mail.theinternetone.net with SMTP; 21 Jun 2003 02:11:14 -0000
Received: from goldskin.attbi.com
	(12-234-54-55.client.attbi.com[12.234.54.55](misconfigured sender))
	by attbi.com (sccrmhc13) with SMTP
	id <20030621021112016009ubuhe>; Sat, 21 Jun 2003 02:11:12 +0000
Date: Fri, 20 Jun 2003 19:02:39 -0700
From: Tim Rowledge <[email protected]>
To: [email protected]
Subject: Re: [Squeakfoundation]re: TrueType font support and 3.6
Message-ID: <[email protected]>
References: <[email protected]>
In-Reply-To: <[email protected]>
User-Agent: Messenger-Pro/2.60a (MsgServe/2.00g) (RISC-OS/4.02)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-BeenThere: [email protected]
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Discussing the Squeak Foundation
	<[email protected]>
List-Id: Discussing the Squeak Foundation
 <squeakfoundation.lists.squeakfoundation.org>
List-Unsubscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=unsubscribe>
List-Archive: <http://lists.squeakfoundation.org/pipermail/squeakfoundation>
List-Post: <mailto:[email protected]>
List-Help: <mailto:[email protected]?subject=help>
List-Subscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=subscribe>
X-List-Received-Date: Sat, 21 Jun 2003 02:11:14 -0000

Doug Way <[email protected]> wrote:

> Andreas Raab wrote:
> 
> >Completely agree. 
> >
> >BTW, Tim, does *installing* or *using* the TT fonts slow your system down?
It's the using, which as you say isn't totally unexpected. Oddly enough
it seems fine in menus _after_ the first time the menu is popped up
(presumably the initial rendering) but in text panes it's _really_ slow.
As Craig says, it's ok on his machine (I've seen it) but my machine is
about one third the performance overall and when on the margin a factor
of three can seem enormous. Typing in a morph is already excruciating
even with boring strikefonts.

Seeing things like this on a slow machine can be very useful and
informative. Stuff that appears just fine on a multi-GHz box can
actually be awful code simply 'getting away with murder' and then you
see the real effect on a slower machine... It's the old scaling problem
and benchmarks and profiling story.

So an obvious question has to be what is the more expensive rendering
and does it really have to be used - or could a simpler one be a
preference at the expense of a little quality? Or can the expensive one
be sped up with more plugin code?

> 
> Right.  Assuming it's using (not just installing) the TT fonts that 
> slows things down on slower systems, we could incorporate the TT fonts 
> changes, but not actually change any of the default fonts to be TT fonts 
> for now.  (Maybe change a default font to be a TT font sometime in 3.7 
> if it's working really well.)
I'd certainly agree with that. The fonts look too good to not be
available for most people. I think to be actually useful we need to put
together some better thought out textstyles than typically get generated
by 'load a TTF as textstyle' though. And a theme that incorporates them
in one go would be helpful, as would another than doesn't incorporate
them. Make it truly easy to use and people will use it.

tim
--
Tim Rowledge, [email protected], http://sumeru.stanford.edu/tim
Useful random insult:- A mental midget with the IQ of a fencepost.  -- Tom Waits
From [email protected] Sat Jun 21 03:32:52 2003
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: (qmail 13216 invoked from network); 21 Jun 2003 03:32:52 -0000
Received: from fep02-mail.bloor.is.net.cable.rogers.com (66.185.86.72)
  by mail.theinternetone.net with SMTP; 21 Jun 2003 03:32:52 -0000
Received: from insearch ([24.112.8.4])
	by fep02-mail.bloor.is.net.cable.rogers.comESMTP
	<20030621033242.EMEC12647.fep02-mail.bloor.is.net.cable.rogers.com@insearch>
	for <[email protected]>;
	Fri, 20 Jun 2003 23:32:42 -0400
Message-ID: <00cc01c337a5$cb001e60$1000a8c0@insearch>
From: "PhiHo Hoang" <[email protected]>
To: "Discussing the Squeak Foundation"
	<[email protected]>
References:
	<001101c3373a$41a885a0$1f00a8c0@atlantis><208501c3375c$832a1d00$c70c010a@phiho>
	<[email protected]>
Subject: Re: VMMaker( Re: [Squeakfoundation]KCP & 3.6)
Date: Fri, 20 Jun 2003 23:32:50 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
X-Authentication-Info: Submitted using SMTP AUTH LOGIN at
	fep02-mail.bloor.is.net.cable.rogers.com from [24.112.8.4] using ID
	<[email protected]> at Fri, 20 Jun 2003 23:32:41 -0400
X-BeenThere: [email protected]
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Discussing the Squeak Foundation
	<[email protected]>
List-Id: Discussing the Squeak Foundation
 <squeakfoundation.lists.squeakfoundation.org>
List-Unsubscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=unsubscribe>
List-Archive: <http://lists.squeakfoundation.org/pipermail/squeakfoundation>
List-Post: <mailto:[email protected]>
List-Help: <mailto:[email protected]?subject=help>
List-Subscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>,
	<mailto:[email protected]?subject=subscribe>
X-List-Received-Date: Sat, 21 Jun 2003 03:32:53 -0000

Tim Rowledge wrote:

> "PhiHo Hoang" <[email protected]> wrote:
> 
> >     Now I have Squeak.exe with 'SqueakFFIPrims' builtin.
> >     This is cool.
> Now just what is particularly cool about this? I don't get it. 

    It is cool because:

        1/- It was generated as external plugin and now 'plugins.int'
            and 'plugins.ext' were mucked around to turn it into
            an internal plugin and the build was successfully finished.

        2/- It is even cooler when the FFI demos were tried, 
        an EXTERNAL 'SqueakFFIPrims'  still needed.

> > 
> >     Just for fun, 'FontPlugin', 'Mpeg3Plugin', RePlugin' were moved
> >     to 'plugins.ext' together with 'SqueakFFIPrims' for another build
> >     and got undefined references to
> > 
> >         1/- 'FontPlugin_exports',
> >         2/- 'Mpeg3Plugin_exports'
> >         3/- 'RePlugin_exports'
> > 
> >     These 3 plugins can no longer be built as external ?
> >     'SqueakFFIPrims'  could be slided in and out with ease.
> > 
> >     Did I miss something ?
> Yes. When you generate plugins as internal their list of exports is
> incorporated into the generated vm/sqNamedPrimitives.h file. This is so
> that the plugin code searching function can find the functions. See the
> code in Cross/vm/sqNamedPrims.c for details. If you simply move the
> plugins from plugins.int to plugins.ext you are now making the
> sqNamedPrimitives.h file invalid and you will get that error. All
> plugins can be built as internal or external as long as you use the
> tools as they were designed to be used. As soon as you go beyond that
> you should expect problems.
> 
> As I recall your code is mucking around with the way plugins are handled
> in a very platform specific way so you are well outside the original
> design spec of the tool.
> 
> 

    When did we first talk about this ? 3 years ago ? The changes in MobVM
    to handle external and internal plugins in one same consistent manner would
    be applicable to all platforms with support for shared objects/ dynamically
    loaded module. The changes were minimal and I think it is even documented
    somewhere at http://swiki.smallsqueak.net
 
    I am quite happy that MobVM does not need two different versions of the same
    plugin to use it as internal or external plugin. The code for SqM.exe or any 
    other plugins need NOT be changed when any of the plugins change status from
    internal to external or vice versa. 

    That's simplicity. I wouldn't mind mucking around to remove complexity. 
    Hey. it's even fun  ;-)

    I would love to hear from Mac and Linux people for purely academic reason.
    
       
    Cheers,

    PhiHo.