64-bit VMs
John M McIntosh
johnmci at smalltalkconsulting.com
Thu Apr 14 06:24:43 UTC 2005
Ok, so I loaded all Tim's & Ians work and built a 32bit VM. That works,
but I picked up 63 warnings about int versus sqInt or int versus void*
conversions.
Also I'm using my old plugins with minor changes to stop fatal compiler
errors.
Now I attempted to build new plugins and immediately die in processing
the AsyncFilePlugin.
Tomorrow I guess I'll see what's involved in not loading the 64bit
stuff but living with the new sq.h
MessageNotUnderstood: String class>>ccgDeclareCForVar:
13 April 2005 11:14:10 pm
VM: Mac OS - a SmalltalkImage
Image: Squeak3.8gamma [latest update: #6548]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir Macintosh HD:Users:johnmci:Shared:Squeak3.8g-6548
Trusted Dir Macintosh HD:Users:johnmci:Shared:Squeak3.8g-6548
Untrusted Dir Macintosh
HD:Users:johnmci:Library:Preferences:Squeak:Internet:My Squeak
String class(Object)>>doesNotUnderstand: #ccgDeclareCForVar:
Receiver: String
Arguments and temporary variables:
aMessage: ccgDeclareCForVar: 'fileName'
Receiver's instance variables:
superclass: AbstractString
methodDict: a MethodDictionary(#<->a CompiledMethod (3157) #<=->a
CompiledMetho...etc...
format: 23554
instanceVariables: nil
organization: ('accessing' at: at:put: byteAt: byteAt:put: byteSize)
('comparin...etc...
subclasses: #(Symbol)
name: #String
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: nil
[] in SmartSyntaxPluginTMethod>>handlePrimitiveDirective:on: {[:argName
:spec | declarations at: argName put: (spec ccgDeclareCForVar:...]}
Arguments and temporary variables:
aStmt: self primitive: 'primitiveAsyncFileOpen' parameters:
#(#String #Boolean ...etc...
sStream: a WriteStream #()
argName: 'fileName'
spec: String
expr: nil
OrderedCollection(SequenceableCollection)>>with:do:
Receiver: an OrderedCollection('fileName' 'writeFlag' 'semaIndex')
Arguments and temporary variables:
otherCollection: #(String Boolean SmallInteger)
twoArgBlock: [] in
SmartSyntaxPluginTMethod>>handlePrimitiveDirective:on: {[:ar...etc...
index: 1
indexLimiT: 3
Receiver's instance variables:
array: #('fileName' 'writeFlag' 'semaIndex')
firstIndex: 1
lastIndex: 3
SmartSyntaxPluginTMethod>>handlePrimitiveDirective:on:
Receiver: a SmartSyntaxPluginTMethod (primitiveAsyncFileOpen)
Arguments and temporary variables:
aStmt: self primitive: 'primitiveAsyncFileOpen' parameters:
#(#String #Boolean ...etc...
sStream: a WriteStream #()
argName: 'fileName'
spec: String
expr: nil
Receiver's instance variables:
selector: #primitiveAsyncFileOpen
returnType: 'sqInt'
args: an OrderedCollection()
locals: an OrderedCollection('f' 'fOop' 'okToOpen' 'fileNameSize'
'fileName' 'w...etc...
declarations: a Dictionary('f'->'AsyncFile *f' )
primitive: 0
parseTree: [
self primitive: 'primitiveAsyncFileOpen' parameters: #(#String
#B...etc...
labels: an OrderedCollection()
possibleSideEffectsCache: nil
complete: false
export: false
static: true
sharedLabel: nil
sharedCase: nil
comment: nil
definingClass: nil
globalStructureBuildMethodHasFoo: nil
isPrimitive: true
suppressingFailureGuards: false
fullSelector: #primitiveAsyncFileOpen:forWrite:semaIndex:
fullArgs: an OrderedCollection('fileName' 'writeFlag' 'semaIndex')
parmSpecs: #(String Boolean SmallInteger)
rcvrSpec: Oop
--- The full stack ---
String class(Object)>>doesNotUnderstand: #ccgDeclareCForVar:
[] in SmartSyntaxPluginTMethod>>handlePrimitiveDirective:on: {[:argName
:spec | declarations at: argName put: (spec ccgDeclareCForVar:...]}
OrderedCollection(SequenceableCollection)>>with:do:
SmartSyntaxPluginTMethod>>handlePrimitiveDirective:on:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SmartSyntaxPluginTMethod>>primitiveDirectiveWasHandled:on:
[] in SmartSyntaxPluginTMethod>>extractPrimitiveDirectives {[:stmt |
(self primitiveDirectiveWasHandled: stmt on: sStream) ifFalse:
[s...]}
OrderedCollection>>do:
[] in SmartSyntaxPluginTMethod>>extractPrimitiveDirectives {[:sStream |
parseTree statements do: [:stmt | (self primitiveDirectiveWasH...]}
Array class(SequenceableCollection class)>>streamContents:
SmartSyntaxPluginTMethod>>extractPrimitiveDirectives
SmartSyntaxPluginTMethod>>setSelector:args:locals:block:primitive:
MethodNode>>asTranslationMethodOfClass:
[] in SmartSyntaxPluginCodeGenerator(CCodeGenerator)>>addClass: {[:sel
:i | bar value: i. source := aClass sourceCodeAt: sel. self
addMe...]}
[] in Set>>doWithIndex: {[:item | aBlock2 value: item value: (index :=
index + 1)]}
Set>>do:
Set>>doWithIndex:
[] in SmartSyntaxPluginCodeGenerator(CCodeGenerator)>>addClass: {[:bar
| aClass selectors doWithIndex: [:sel :i | bar value: i.
sour...]}
[] in ProgressInitiationException>>defaultMorphicAction {[result :=
workBlock value: progress]}
...etc...
On Apr 7, 2005, at 11:37 AM, Tim Rowledge wrote:
> Oh, I forgot to mention - FloatArray plugin needs a fix. I don't have
> time.
>
> tim
> --
> Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
> World Ends at Ten! Pictures at 11 on Fox News!
>
>
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Vm-dev
mailing list