Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 4d3f02655d68964e1fe4ed2b533658fe38168936 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d3f02655d68964e1fe4ed2b533658fe38168936 Author: Eliot Miranda <[hidden email]> Date: 2017-05-26 (Fri, 26 May 2017) Changed paths: M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/unix/vm/aio.c M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqWin32DnsInfo.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/gcc3x-cointerp.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2222 StackInterpreter: Add time primitives to answer the UTC and local microsecond clocks as updated by the heartbeat (as the Cog VM was originally before David changed the primitives to access the time now). This access is much faster (of the order of 20 nsecs per invocartion vs 450 nsecs per invocatuon on a 2.3 GHz Mac Mini). Terf demands very fast clock times but is not concerned with fine granularity. The primitive numbers are 245 for UTC and 246 for local. primitiveMakePoint should fail if its /argument/ is not a SmallInteger or Float. Since the primitive is on Number we know the receiver is valid, and there is no point checking it. Fix warnings for addIdleUsecs: on WIN32/64 (must not be marked exporrt to avoid declspec being added). Fix display pixel reversal (for debug). Modern implementation of displayBits is (void *). We can't calculate an offset (dispalyBits + n) because we don't know the size of void! At least it fails on MSVC compiler. So it's necessary to convert it to char *, int *, or just sqInt. While at it, as calculated, the range is a pixel range (assumed on the first display line) not a word range, but this range will be rounded to a whole word boundary. Cogit: Modified with Sophie K the collectCogConstituents primitive to take a boolean parameter "withDetails". If false or no parameter, the primitive does the same thing as before. If true, the primitive maps each CogMethod that is frameful to an array starting with the cogMethod address followed by a mapping between the mcpc and the bcpc instead of just the cogMethod address. Fix the method for getting the stack pointer in Win64 ABI. The generated ceCaptureCStackPointers must account for the 32 bytes reserved for saving the 4 register parameters which are allocated whatever the real number of parameters. Minor fix in register in branchIfInstanceOf: in SistaCogit for Characters. Plugins: Fix slips in the SoundPlugin code. Win64 build. Do not define WIN32. Fix the win32 sqConfig.h file to work around the clang preprocessor's failure to default undefined identifiers to 0L. |
Free forum by Nabble | Edit this page |