[Vm-dev] Re: VM patches for oop comparison and usqInt declarations

John M McIntosh johnmci at smalltalkconsulting.com
Fri Jun 8 23:01:57 UTC 2007

I stuck some compares in the pointer accessors and got

			for (w = firstWord; w <= lastWord; w += BytesPerWord) {
				longAtput(target, longAt(w));
				target += BytesPerWord;

in incCompMove

w is 0x86401004
firstWord is 0x7ffffff4
lastWord is 0x7ffffffc

mmm Oh wait w being an integer of value -2042621948  is well always  
less than lastWord.

Perhaps other suspects?

	for (i = firstField; i <= lastField; i += BytesPerWord) {
	for (i = BaseHeaderSize; i <= lastField; i += BytesPerWord) {
	for (i = ((lastPointerOf(oop)) + BytesPerWord); i <= (sz -  
BaseHeaderSize); i += BytesPerWord) {

On May 27, 2007, at 6:22 AM, David T. Lewis wrote:

> On Wed, Apr 25, 2007 at 06:59:49AM -0400, David T. Lewis wrote:
>> The attached zip contains six change sets and an update for  
>> sqMemoryAccess.h.
>> The changes are intended to resolve problems with oop variable  
>> declarations
>> and comparison operations that may occur on platforms that assign  
>> object
>> memory to high virtual memory address values.
> Can anyone confirm whether these changes are producing the intended
> results, i.e. a system that used to crash with >2GB oop issues, and
> no longer crashes after applying the changes? I don't have any Squeak
> platform that exhibits the problem, so so I can't confirm whether or
> not the problem is actually resolved.
> Thanks,
> Dave

John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com

More information about the Vm-dev mailing list