<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Jul 23, 2008 at 10:57 AM, Klaus D. Witzel &lt;<a href="mailto:klaus.witzel@cobss.com">klaus.witzel@cobss.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
On Wed, 23 Jul 2008 17:14:38 +0200, Eliot Miranda wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wed, Jul 23, 2008 at 6:34 AM, Klaus D. Witzel wrote:<br>
</blockquote>
...<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
... example, what 3.9 plus VMMaker did you use (patches?). Can I<div class="Ih2E3d"><br>
prepare an .image by myself or do you intend to upload a prepared one?<br>
</div></blockquote><div class="Ih2E3d">
<br>
I didn&#39;t use a VMMaker in 3.9. &nbsp;I simply used the modified Qwaq VM to run<br>
all bootstraps.<br>
</div></blockquote>
<br>
Hm, then my question should have been: is this modified VM available for the win32&#39;s?</blockquote><div><br></div><div>No VMs are available. &nbsp;Right now you have to roll your own. &nbsp;I don&#39;t have the time or expertise to provide an adequate sampling of VMs. &nbsp;I don&#39;t even have a clear picture of what different VMs are out there. &nbsp;Note that Qwaq&#39;s VM contains properietary code, so I cant simply make that available. &nbsp;So take your own VMMaker package or download one, apply the changeset and spit out your own. &nbsp;I guess we could try to get it tother to produce a 3.9 VM for the three x86 platforms, Mac OS X, Win32 &amp; Intel Linux. &nbsp;But I&#39;m not going to do this anytime soon. &nbsp;I&#39;m not an expert in building and configuring Squeak VMs for general consumption. &nbsp;I&#39;d rather leave that to the likes of Tim, John, Andreas and Ian. &nbsp;Noblese oblige ;)</div>
<div>&nbsp;</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="Ih2E3d"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But I did run the bootstrap in Qwaq internal images,<br>
Croquet 1.0.18 and Squeak3.9-final-7067.<br>
<br>
I think at this stage the code is too green for me to upload a prepared<br>
image. &nbsp;I&#39;d rather people built their own. &nbsp;That way I can still fix and<br>
change details before things get too frozen.<br>
</blockquote>
<br></div>
Okay. I was reflecting mainly the VM source code changes here. I&#39;ll skip them.<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
One example is whether to use indexed inst vars to hold copied values in<br>
BlockClosure, or as I do currently to use an Array. &nbsp;If using an inst var<br>
closure creation is slower but adding inst vars is easy.<br>
</blockquote>
<br></div>
Since there where 1-2 questions during recent years, for adding instVars to some subclass of ContextPart, why not?<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If using indexed<br>
inst vars then either the VM makes it impossible to add inst vars (something<br>
up with which I shall not put) or the code for evaluation is slowed down<br>
because the VM needs to find the size of the closure and the number of named<br>
slots. &nbsp;So there needs to be a performance evaluation done of each approach.<br>
</blockquote>
<br></div>
Performance of loading the array oop from its slot v.s. computing # of named slots? How about just incrementing stackPointer for allocating the closure&#39;s slots (as is done for method temps) when the BlockClosure is created. Of course this then needs a base value (like initial IP has).<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Another example is temp names for the debugger and for sourceless methods.<br>
&nbsp;I&#39;m not sure I&#39;ve got the former right and I broke the latter. &nbsp;I suspect<br>
that there is a middle ground that solves both of these.<br>
</blockquote>
<br></div>
This was also a problem for the current Decompiler (IIRC Stef posted such an example long time ago).<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So for now build your own images and contact me with comments, suggestions<br>
fixes etc, either directly or to the blog.<br>
</blockquote>
<br></div>
Will see what is possible by using 3.8 as base (most likely not before Saturday).<div><div></div><div class="Wj3C7c"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Eventually I&#39;ll have to grok<br>
some form of issue tracking (and suggestions are welcome) but for now I&#39;ll keep it cheap and cheerful.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
/Klaus<br>
<br>
&nbsp;and tying up loose ends (for example I broke decompile with temp names and<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
haven&#39;t fixed it).<br>
<br>
Thanks and enjoy.<br>
<br>
</blockquote>
<br>
</blockquote></blockquote>
<br>
<br>
</div></div></blockquote></div><br></div>