ok, in debugging vm I get failure in
static inline sqInt longAtput(sqInt oop, sqInt val) { return longAtPointerput(pointerForOop(oop), val); }
oop is 0xe02e2c98 val is 310,038
called via inCompMove
} else { newFreeChunk = newOop + (sizeBitsOf(newOop)); /* begin setSizeOfFree:to: */ longAtput(newFreeChunk, (bytesFreed & AllButTypeMask) | HeaderTypeFree); }
newOop is 0x7ffb4558 newFreeChunk is -533844840 or 0xe02e2c98 Well that has a wrong feel to it... Let me attached an image of the debugger vars in case someone wants to puzzle out the issue.
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@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===