Operating System Details
------------------------
Operating System: Windows 8.1 (Build 9200 )
Registered Owner: Windows User
Registered Company: 
SP major version: 0
SP minor version: 0
Suite mask: 300
Product type: 1

Hardware Details
----------------
Hardware information: 
Manufacturer: Unknown
Model: Unknown
Number of processors: 4
Page size: 4096

Memory Information (upon launch):
Physical Memory Size: 4077260 kbytes
Physical Memory Free: 2014428 kbytes
Page File Size: 4194303 kbytes
Page File Free: 2958860 kbytes
Virtual Memory Size: 2097024 kbytes
Virtual Memory Free: 2023664 kbytes
Memory Load: 50 percent

Processor 0: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
Identifier: Intel64 Family 6 Model 58 Stepping 9
~MHZ: 1796

Processor 1: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
Identifier: Intel64 Family 6 Model 58 Stepping 9
~MHZ: 1796

Processor 2: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
Identifier: Intel64 Family 6 Model 58 Stepping 9
~MHZ: 1796

Processor 3: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
Identifier: Intel64 Family 6 Model 58 Stepping 9
~MHZ: 1796

Tiny Benchmarks
---------------
1,006,882,989 bytecodes/sec; 71,721,410 sends/sec

Karl


On Sun, Jun 29, 2014 at 6:02 AM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
 
...in http://www.mirandabanda.org/files/Cog/VM/VM.r3021/.

In particular, these fix VM crashes when running the AllocationTest in Spur.

CogVM source as per VMMaker.oscog-eem.787/r3021

Fix mixup of old & young spaces in primitiveVMParameter, and
comment some new parameters.

Fix return types for positive[64/32]BitValueOf:.
positive32BitValueOf: must answer a usqInt,
positive64BitValueOf: must answer a usqLong.

Use positiveMachineIntegerValueOf: to decode arg in primitiveNewWithArg
and ensure positiveMachineIntegerValueOf: is inlined there-in.

win32:
Set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the image header of the Windows
executables to allow e.g. Spur to allocate more than 2Gb.

Spur:
Fix sign and overflow issues in instantiating larger objects
and determining the size of large instances.

Fix some freeChunk accesses that used fetchPointer:ofObject:.

Cog ARM:
Fix prim return for compileInterpreterPrimitive: on RISCs.  On return from
interpreter prim, ret pc is in instructionPointer and must return to whence
it came, which is the stack on CISC and the LinkReg on RISC.  Hence restoring
the receiver reg requires different offsets in the two cases.

Rework the rotatable quick constant logic a little and clean up users.
Fix concretizeMoveRXbrR to do byte not word loads.
Fix concretizeConditionalJumpLong: to actually be conditional. Oops.

Correct mistaken callersaved reg stuff for ARM
Fix concretizedRetN to not over-bump the SP

The method abort trampolines shouldn't pop anything, especially
now we have the pushLinkreg: arg to manage the LinkReg more easily.

Slang:
Rip out the UseRightShiftForDivide optimization.  It gets unsigned division
wrong, and C compilers can and will optimize this correctly themselves.


--
best,
Eliot