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.