<div dir="ltr">Hi All,<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 5, 2016 at 8:06 AM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-07-05 15:40 GMT+02:00 marcel.taeumel <span dir="ltr">&lt;<a href="mailto:Marcel.Taeumel@hpi.de" target="_blank">Marcel.Taeumel@hpi.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Nicolas Cellier wrote<br>
<span>&gt; I don&#39;t promise to spend any time on it, but I&#39;ve inquired a bit a few<br>
&gt; months ago.<br>
&gt; The 1st thing required is to convert a bunch of (int) type declaration<br>
&gt; into<br>
&gt; sqint in platforms/win32 because they&#39;re not compatible in 64bits.<br>
&gt;<br>
</span>&gt; 2016-07-05 11:20 GMT+02:00 marcel.taeumel &amp;lt;<br>
<br>
&gt; Marcel.Taeumel@<br>
<br>
&gt; &amp;gt;:<br>
<span>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi, there.<br>
&gt;&gt;<br>
&gt;&gt; I happily observe the recent efforts to make 64-bit VMs stable for Linux<br>
&gt;&gt; and<br>
&gt;&gt; Mac OSX.<br>
&gt;&gt;<br>
&gt;&gt; Although Tobias and myself agreed to support the Windows platform in<br>
&gt;&gt; terms<br>
&gt;&gt; of internal and external plugins such as SqueakSSL and FilePlugin, adding<br>
&gt;&gt; 64-bit seems like a lot of work. We have only so much time.<br>
&gt;&gt;<br>
&gt;&gt; Who&#39;s out there interested in, thinking about, or already contributing to<br>
&gt;&gt; a<br>
&gt;&gt; 64-bit OpenSmalltalk VM for Windows?<br>
&gt;&gt;<br>
&gt;&gt; Best,<br>
&gt;&gt; Marcel<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; View this message in context:<br>
&gt;&gt; <a href="http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953.html" rel="noreferrer" target="_blank">http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953.html</a><br>
&gt;&gt; Sent from the Squeak VM mailing list archive at Nabble.com.<br>
&gt;&gt;<br>
<br>
</span>Hi Nicolas,<br>
<br></blockquote><div> </div><div>Hi Marcel,<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
if we target Cygwin as a build environment, this might be worth noticing:<br>
<a href="https://cygwin.com/faq.html#faq.programming.64bitporting" rel="noreferrer" target="_blank">https://cygwin.com/faq.html#faq.programming.64bitporting</a><br>
<br></blockquote><div><br></div><div>As currently generated, the Spur Vm for 64 bits expects sizeof(long) == 8.<br></div><div>So it is cygwin64 x86_64 compatible, but not so much MSVC... (or mingw-w64 variants...)<br></div><div>IMO, this is the easiest target. then we could inquire about alternate compilers. <br></div></div></div></div></blockquote><div><br></div><div>This is great to hear.  So there is a model where sizeof(long) == 8?  If that&#39;s so, we should target it.  There&#39;s a /lot/ of work to do if we have to support the Win64 sizeof(long) == 4 model.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If we (eventually?) target MS Visual Studio (resp. its C compiler), the code<br>
might look different. Not sure.<br>
<br>
In the Windows (kernel) code, I noticed the use of typedefs, which we could<br>
also establish in the vm&#39;s windows-specific platform code:<br>
<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ff381404(v=vs.85).aspx" rel="noreferrer" target="_blank">https://msdn.microsoft.com/en-us/library/windows/desktop/ff381404(v=vs.85).aspx</a><br>
 <br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I wonder if we could manage to write code that compiles in both Cygwin<br>
64-bit and the (free) MS Visual C/C++ compiler:<br>
<a href="https://www.microsoft.com/en-us/download/details.aspx?id=41151" rel="noreferrer" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=41151</a><br>
<br></blockquote><div><br></div><div>Yes, it&#39;s doable, it&#39;s a matter of defining the sq* types and sticking to these types.<br></div><div>But that might mean revising VMMaker package to avoid direct references to long/unsigned long/, as well as some of the platforms/* files...<br></div></div></div></div></blockquote><div><br></div><div>There ar emote issues in the type inferencer.  It, and a significant ammount of code in VMMaker would have to be rewritten to support 64-bit sizeof(long) == 4.  I think it&#39;s infeasible given our current person power, and I don&#39;t think its wrath it.  If we can get there using cygwin ad/or mingw we should do so.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
... or maybe MS Visual C/C++ only? It would remove Cygwin as a layer of<br>
indirection between dev tools and execution platform...  *duck-and-run* :-D<br>
<br></blockquote><div><br></div><div>Using MSVC requires additional support like atomic operations (see ../../platforms/Cross/vm/sqAtomicOps.h)<br></div></div></div></div></blockquote><div><br></div><div>Minor difficulty.  MSVC has support for asm.  Further, later versions are using clang for their compiler and that *may* just have extended asm support.  And do we know that MSVC doesn&#39;t support the relevant intrinsics?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Overall, it should be really simple (and cheap?) to setup a Windows dev<br>
environment for VM developers. Maybe for real, maybe in a VirtualBox only.<br></blockquote></div></div></div></blockquote><div><br></div><div>+1.  Please, something that is either arasllels or can be converted into Parallels.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
This helps Eliot and other cross-platform VM developers to debug like they<br>
are doing now.<br></blockquote><div><br></div><div>Using IDE has a lot of advantages, but maintaining the IDE-specific or even worse IDE-version-specific project files is not sustainable<br></div><div>For these reasons, Eliot removed the Xcode projects for Mac, I don&#39;t think re-introducing them for windows would be a good idea.<br></div><div>Instead, I much much prefer to generate the project files via cmake.<br></div></div></div></div></blockquote><div><br></div><div>Why do we need project files?  Why do we need cmake?  I don&#39;t want to keep on fighting this battle, please.  Esteban is already working on the issue of generating the header file that generates just the defines that describe the platform facilities.  Plugins are selected via <a href="http://plugins.int">plugins.int</a> and plugins.ext.  Optional compilation can be controlled with the relevant code in platforms/PLATFORM/plugins/Makefile which can test for available support libraries and abort creation if so.</div><div><br></div><div>We. Do. Not. Need/ A. CMake. Step. Other, Than. To. Define. The. Platform&#39;s. Facilities.</div><div><br></div><div>I. Do. Not. Want. Project. Files. Under. Any. Circumstances.</div><div><br></div><div>Please, I thought we had reached agreement on this when we discussed moving to github.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>The question remains whether we maintain the cmakelists.txt or generate them from Smalltalk (like Pharo VM)<br></div><div><br></div><div>I like the idea of a virtual machine prepared for dev, but what about:<br></div><div>- license (unless we can redistribute windows 10?)<br></div><div>- security (download a virtual machine with unknown installed software, backdoors, etc... )<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Best,<br>
Marcel<br><br>
--<br>
View this message in context: <a href="http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953p4905015.html" rel="noreferrer" target="_blank">http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953p4905015.html</a><br>
<div><div>Sent from the Squeak VM mailing list archive at Nabble.com.<br>
</div></div></blockquote></div></div></div></blockquote></div><br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>