[BC] Block Closures, Version 2

John M McIntosh johnmci at smalltalkconsulting.com
Tue Feb 19 20:45:52 UTC 2002


>Anthony,
>
>>  Acting like a new user, I downloaded a fresh 3.2gamma-4743 image
>
>	I did that and load it into official Windows VM 3.1A6
>
>>  Then I downloaded and filed-in CGeneratorEnhancements-ajh.cs,
>BCIntepreter-ajh.cs
>
>	Did that, and generated interp.c. Plug it into Windows 3.1A6
>source tree, edit sqPlatformSpecific.h
>
>		#define squeakFileOffsetType long
>
>and sqVirtualMachine.h to accommodate
>
>		#define squeakInt64 __int64
>

Phil I should point out that by defining squeakFileOffsetType to 
32bits you restrict the file system logic to 32 bits. So in your note 
earlier where you talk about

	__int64 _lseeki64( int handle, __int64 offset, int origin );
	__int64 _telli64( int handle );

and if you set squeakFileOffsetType to long then you restrict numbers 
to a signed 32bit range. Also which wasn't clear was that you must 
redefine

fseek
ftell

ie
#define ftell(f)               _telli64(f)

for example.

Also from an code viewpoint you should review usage of 
squeakFileOffsetType in the VM support code and their interface to 
the plugin slang. Other places where this comes into play is 
directory lookup prim, file size prim, and file truncate prim.

-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list