Apple's bridgesupport on OS X VM?
Jaroslav Cmunt
jcmunt at gmail.com
Fri Jun 8 14:04:05 UTC 2007
Hi Todd,
any chance to get this bridge working with current VM? I managed to
compile it with latest svn version of the unix VM (stable versions
did not compile on Intel Mac for some reason) and it seems there even
was some message exchange between VM and ObjC runtime, but after that
I got primitive failure in ByteArray>>integerAt:size:signed: e.g. in
FFIPlugin>>primitiveFFIIntegerAt and I was not able to fix that.
I would give my little finger for a chance to write native Cocoa
software in Squeak.
Jaroslav
Walkback follows:
ByteArray(Object)>>error:
Receiver: a ByteArray(160 58 97 0)
Arguments and temporary variables:
aString: 'a primitive has failed'
Receiver's instance variables:
a ByteArray(160 58 97 0)
ByteArray(Object)>>primitiveFailed
Receiver: a ByteArray(160 58 97 0)
Arguments and temporary variables:
Receiver's instance variables:
a ByteArray(160 58 97 0)
ByteArray>>integerAt:size:signed:
Receiver: a ByteArray(160 58 97 0)
Arguments and temporary variables:
byteOffset: 1
nBytes: 4
aBoolean: false
Receiver's instance variables:
a ByteArray(160 58 97 0)
ByteArray>>unsignedLongAt:
Receiver: a ByteArray(160 58 97 0)
Arguments and temporary variables:
byteOffset: 1
Receiver's instance variables:
a ByteArray(160 58 97 0)
--- The full stack ---
ByteArray(Object)>>error:
ByteArray(Object)>>primitiveFailed
ByteArray>>integerAt:size:signed:
ByteArray>>unsignedLongAt:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ObjcBridge>>coerce:from:
[] in NSMutableArray class(ObjcProxy class)>>send:to:withArguments:
{[invocation setTarget: anObject. invocation setSelector: aSymbol.
2 to: ...]}
BlockContext>>ensure:
NSMutableArray class(ObjcProxy class)>>send:to:withArguments:
NSMutableArray class(ObjcProxy class)>>objcPerform:withArguments:
NSMutableArray class(ObjcProxy class)>>doesNotUnderstand: #alloc
ObjcBridge>>initialize
ObjcBridge>>startUp
ObjcBridge class>>startUp:
[] in SystemDictionary>>send:toClassesNamedIn:with: {[:name |
class := self at: name ifAbsent: []. class ifNil: [remo...]}
OrderedCollection>>do:
SystemDictionary>>send:toClassesNamedIn:with:
SystemDictionary>>processStartUpList:
SmalltalkImage>>snapshot:andQuit:embedded:
SmalltalkImage>>snapshot:andQuit:
TheWorldMenu>>saveAndQuit
TheWorldMenu>>doMenuItem:with:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
numArgs) = 0 ifTrue: [target perform: selector] ...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
ActiveEvent := anEvent. result := focusHolder han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
processEvents. capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle. Processor
yield. false] whileFalse. nil]}
[] in BlockContext>>newProcess {[self value. Processor
terminateActive]}
On 28. May 2007, at 7:10 PM, Todd Blanchard wrote:
> Oh, that's kind of cool. When we were working on the objective -c
> bridge, we were doing a lot of nutty introspection to try to fake
> that info. We could probably do a lot better with that stuff. If
> I get an free time I'll look at it. If you want to try it
> yourself, the objective-c bridge is on squeaksource.
>
> -Todd Blanchard
>
More information about the Squeak-dev
mailing list
|