[Vm-dev] Alien on Spur and "el capitan"?

Esteban Lorenzano estebanlm at gmail.com
Tue Oct 20 20:46:58 UTC 2015


Hi,

> On 20 Oct 2015, at 22:43, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> 
> Esteban,
> 
> good news, https://github.com/devernay/xcodelegacy <https://github.com/devernay/xcodelegacy> supports Xcode 7 and El capitan...
> So we can still compile a legacy MacCarbon based VM compatible with snow leopard.
> I ried it, it works and I can run Squeak 5.0 (spur) with such VM.

In Pharo we do not compile mac carbon VMs since couple of years ago so this is not a big problem for us (thankfully… at least a problem less :P)

cheers, 
Esteban

> 
> For my own brand of macosx 32/squeak.cog.spur, it's less glorious.
> I can compile with latest clang (7), but the image immediately quit when I use this VM (with a correct STARTUP/QUIT log pair in the change log though...).
> 
> I'll continue to dig.
> 
> 2015-10-20 8:32 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com <mailto:estebanlm at gmail.com>>:
>  
> Hi, 
> 
> I think this does not solves my problem :(
> 
> but… do you think this leaks where present before? I’m using different way to build pharovm (using cmake to generate it, not an xcode project) so I can add the definitions there… but I tried to integrate your changes to my sources and I found that you are using newer objc instructions, so the build with sdk 10.6 (needed to still support leopard) failed (then I reverted, waiting for a better moment to perform this task)
> … yet, I didn’t tried too much so I don’t know if the error is not fixable in 10.6 or I just missed a configuration.
> 
> Any hint?
> 
> cheers, 
> Esteban
> 
>> On 20 Oct 2015, at 03:03, John McIntosh <johnmci at smalltalkconsulting.com <mailto:johnmci at smalltalkconsulting.com>> wrote:
>> 
>> Ok  I pushed fixes to deal with a code compile error, plus update the code base so that it does not leak memory when running under the os-x legacy 32bit objective-c runtime.  
>> Brave folks could look at Cog/build.macos32x86/squeak.cog.spur and the miosvm script or the SqueakCogSpur32x86.xcworkspace xCode project. 
>> 
>> On Mon, Oct 19, 2015 at 11:09 AM, John McIntosh <johnmci at smalltalkconsulting.com <mailto:johnmci at smalltalkconsulting.com>> wrote:
>> Look at Cog/build.macos32x86/squeak.cog.spur  and the miosvm script or the SqueakCogSpur32x86.xcworkspace 
>> You should be able to build a 32bit cog.spur VM using the current Xcode under the current OSX
>> 
>> On Mon, Oct 19, 2015 at 11:01 AM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com <mailto:nicolas.cellier.aka.nice at gmail.com>> wrote:
>>  
>> I regularly sync (merge) with Eliot branch, but I'm a few months behind, not much time recently.
>> Also, I upgraded Xcode to latest version but did not yet tried to compile the VM, so no premature promises...
>> I'll try and have a look and will keep you informed...
>> 
>> cheers
>> 
>> 2015-10-19 19:56 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com <mailto:estebanlm at gmail.com>>:
>>  
>> I don’t know about Eliot, but I cannot wait. 
>> Without Alien, I have no FFI with callbacks.
>> Without FFI with callbacks I have no replacement for NativeBoost. 
>> Without NativeBoost I have not Athens (and OSWindow)
>> And without those, Pharo cannot migrate to Spur. 
>> 
>> So if you have a working version (or partially working), please, share it. 
>> 
>> Esteban
>> 
>>> On 19 Oct 2015, at 19:48, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com <mailto:nicolas.cellier.aka.nice at gmail.com>> wrote:
>>> 
>>> I've changed many of these in my experimental branch when trying to remove lot of UB - but it's not up to date with latest Eliot .oscog versions...
>>> 
>>> I'd like we review some of these changes, but only if Eliot is ready, he has many things cooking already.
>>> 
>>> http://smalltalkhub.com/mc/nice/NiceVMExperiments/main <http://smalltalkhub.com/mc/nice/NiceVMExperiments/main>
>>> 
>>> 2015-10-19 18:31 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com <mailto:estebanlm at gmail.com>>:
>>>  
>>> Hi, 
>>> 
>>> Does anyone tested Alien on Spur and "El capitan"? specifically callbacks?
>>> For me, a completely broken :(
>>> 
>>> 1) this structure (in maybeInlinePositive32BitIntegerFor: and others): 
>>> 
>>> 	(integerValue >= 0
>>> 	 and: [objectMemory isIntegerValue: integerValue]) ifTrue:
>>> 		[^objectMemory integerObjectOf: integerValue].
>>> 
>>> Does not works if “integer value” is an unsigned long, because compiler assumes it will always be true, then remove the if, then answers a wrong value. 
>>> 
>>> 2) assertCStackWellAligned always fail. No idea why because if does not says anything, just jmp back to the regular flow. 
>>> 
>>> 3) finally, ceCaptureCStackPointers also fails… this can be because (2) or because other reasons (it also jmps back so no clue) (method generateCaptureCStackPointers: clarifies is a hack, so I suppose it stopped to work). 
>>> 
>>> I guess solution of (1) is easy: argument number just has to be a sqLong instead an unsigned long. 
>>> 
>>> But for 2 and 3 I have no idea where to start.
>>> 
>>> Does anyone has an idea?
>>> 
>>> Esteban
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> -- 
>> ===========================================================================
>> John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk <https://www.linkedin.com/in/smalltalk>
>> ===========================================================================
>> 
>> 
>> 
>> -- 
>> ===========================================================================
>> John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk <https://www.linkedin.com/in/smalltalk>
>> ===========================================================================
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151020/06b4c75a/attachment.htm


More information about the Vm-dev mailing list