<div dir="ltr">Anybody building their own VMs may need to delete the xabicc.deps files from the reps directories in the mac and windows builds since some files in platforms/Cross/plugins/IA32ABI have changed name, reflected in which files xabicc.c pulls in.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 13, 2017 at 7:59 PM, GitHub <span dir="ltr"><<a href="mailto:noreply@github.com" target="_blank">noreply@github.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>  Branch: refs/heads/Cog<br>
  Home:   <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-vm</a><br>
  Commit: b7cd83334d2eb417c73439e96d54fe<wbr>46a93fbf54<br>
      <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b7cd83334d2eb417c73439e96d54fe46a93fbf54" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/commit/<wbr>b7cd83334d2eb417c73439e96d54fe<wbr>46a93fbf54</a><br>
  Author: Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>><br>
  Date:   2017-03-13 (Mon, 13 Mar 2017)<br>
<br>
  Changed paths:<br>
    M nsspur64src/vm/cogit.h<br>
    M nsspur64src/vm/cogitX64.c<br>
    M nsspur64src/vm/cointerp.c<br>
    M nsspur64src/vm/cointerp.h<br>
    M nsspur64src/vm/gcc3x-cointerp.<wbr>c<br>
    M nsspur64src/vm/vmCallback.h<br>
    M nsspursrc/vm/cogit.h<br>
    M nsspursrc/vm/cogitARMv5.c<br>
    M nsspursrc/vm/cogitIA32.c<br>
    M nsspursrc/vm/cogitMIPSEL.c<br>
    M nsspursrc/vm/cointerp.c<br>
    M nsspursrc/vm/cointerp.h<br>
    M nsspursrc/vm/gcc3x-cointerp.c<br>
    M nsspursrc/vm/vmCallback.h<br>
    M nsspurstack64src/vm/gcc3x-<wbr>interp.c<br>
    M nsspurstack64src/vm/interp.c<br>
    M nsspurstack64src/vm/<wbr>vmCallback.h<br>
    M nsspurstacksrc/vm/gcc3x-<wbr>interp.c<br>
    M nsspurstacksrc/vm/interp.c<br>
    M nsspurstacksrc/vm/vmCallback.h<br>
    M platforms/Cross/vm/<wbr>sqVirtualMachine.c<br>
    M spur64src/vm/cogit.h<br>
    M spur64src/vm/cogitX64.c<br>
    M spur64src/vm/cointerp.c<br>
    M spur64src/vm/cointerp.h<br>
    M spur64src/vm/gcc3x-cointerp.c<br>
    M spur64src/vm/vmCallback.h<br>
    M spurlowcode64src/vm/cogit.h<br>
    M spurlowcode64src/vm/cogitX64.c<br>
    M spurlowcode64src/vm/cointerp.c<br>
    M spurlowcode64src/vm/cointerp.h<br>
    M spurlowcode64src/vm/gcc3x-<wbr>cointerp.c<br>
    M spurlowcode64src/vm/<wbr>vmCallback.h<br>
    M spurlowcodesrc/vm/cogit.h<br>
    M spurlowcodesrc/vm/cogitARMv5.c<br>
    M spurlowcodesrc/vm/cogitIA32.c<br>
    M spurlowcodesrc/vm/cogitMIPSEL.<wbr>c<br>
    M spurlowcodesrc/vm/cointerp.c<br>
    M spurlowcodesrc/vm/cointerp.h<br>
    M spurlowcodesrc/vm/gcc3x-<wbr>cointerp.c<br>
    M spurlowcodesrc/vm/vmCallback.h<br>
    M spurlowcodestack64src/vm/<wbr>gcc3x-interp.c<br>
    M spurlowcodestack64src/vm/<wbr>interp.c<br>
    M spurlowcodestack64src/vm/<wbr>vmCallback.h<br>
    M spurlowcodestacksrc/vm/gcc3x-<wbr>interp.c<br>
    M spurlowcodestacksrc/vm/interp.<wbr>c<br>
    M spurlowcodestacksrc/vm/<wbr>vmCallback.h<br>
    M spursista64src/vm/cogit.h<br>
    M spursista64src/vm/cogitX64.c<br>
    M spursista64src/vm/cointerp.c<br>
    M spursista64src/vm/cointerp.h<br>
    M spursista64src/vm/gcc3x-<wbr>cointerp.c<br>
    M spursista64src/vm/vmCallback.h<br>
    M spursistasrc/vm/cogit.h<br>
    M spursistasrc/vm/cogitARMv5.c<br>
    M spursistasrc/vm/cogitIA32.c<br>
    M spursistasrc/vm/cogitMIPSEL.c<br>
    M spursistasrc/vm/cointerp.c<br>
    M spursistasrc/vm/cointerp.h<br>
    M spursistasrc/vm/gcc3x-<wbr>cointerp.c<br>
    M spursistasrc/vm/vmCallback.h<br>
    M spursrc/vm/cogit.h<br>
    M spursrc/vm/cogitARMv5.c<br>
    M spursrc/vm/cogitIA32.c<br>
    M spursrc/vm/cogitMIPSEL.c<br>
    M spursrc/vm/cointerp.c<br>
    M spursrc/vm/cointerp.h<br>
    M spursrc/vm/gcc3x-cointerp.c<br>
    M spursrc/vm/vmCallback.h<br>
    M spurstack64src/vm/gcc3x-<wbr>interp.c<br>
    M spurstack64src/vm/interp.c<br>
    M spurstack64src/vm/vmCallback.h<br>
    M spurstacksrc/vm/gcc3x-interp.c<br>
    M spurstacksrc/vm/interp.c<br>
    M spurstacksrc/vm/vmCallback.h<br>
    M src/plugins/IA32ABI/IA32ABI.c<br>
    M src/plugins/ZipPlugin/<wbr>ZipPlugin.c<br>
    M src/vm/cogit.h<br>
    M src/vm/cogitARMv5.c<br>
    M src/vm/cogitIA32.c<br>
    M src/vm/cogitMIPSEL.c<br>
    M src/vm/cogmethod.h<br>
    M src/vm/cointerp.c<br>
    M src/vm/cointerp.h<br>
    M src/vm/cointerpmt.c<br>
    M src/vm/cointerpmt.h<br>
    M src/vm/gcc3x-cointerp.c<br>
    M src/vm/gcc3x-cointerpmt.c<br>
    M src/vm/vmCallback.h<br>
    M stacksrc/vm/gcc3x-interp.c<br>
    M stacksrc/vm/interp.c<br>
    M stacksrc/vm/vmCallback.h<br>
<br>
  Log Message:<br>
  -----------<br>
  CogVM source as per VMMaker.oscog-eem.2151<br>
<br>
Stack/CoInterpreter:<br>
Refactor the assignments to the stack pointers from a page's head pointers<br>
into setStackPointersFromPage:.<br>
Remove calls to addNewMethodToCache: from clients of<br>
lookupOrdinaryNoMNUEtcInClass: which does this anyway.<br>
<br>
Stack Interpreter Alien Callbacks:<br>
Implement ownVM: and disownVM: for the non-threaded VM in StackInterpreter,<br>
removing it from sqVirtualMachine.c. Arrange that sendInvokeCallbackContext:<br>
& returnAs:ThroughCallback:<wbr>Context: along with ownVM: and disownVM:<br>
conspire to save and restore newMethod, argumentCount and<br>
primitiveFunctionPointer around a callback. The VM depends on argumentCount<br>
being correct to cut-back the correct number of arguments on primitive<br>
return.  If a primitive that invokes a callback fails after invoking a<br>
callback (a bad idea, but s**t happens during development) then newMethod<br>
is required to activate the right faling method, and Spur expects<br>
primitiveFunctionPointer to be valid, so asserts will fail misleadingly if<br>
not.<br>
Add three variables to help debug callbacks that are updated only in the<br>
assert and debug VMs. debugCallbackPath has bits set in it that describe<br>
the specific path taken through returnAs:ThroughCallback:<wbr>Context:, while<br>
debugCallbackReturns debugCallbackInvokes merely count invocations and<br>
returns, and can be used for breakponts if reproducible cases arise (such<br>
as the recent Pharo 6 VGTigerDemo runDemo issues with copyBits using<br>
surface funciton callbacks.<br>
<br>
64-bit Spur:<br>
Fix variable declaration in primitiveSignalAtMilliseconds to prevent<br>
arithmetic overflow in calculating nextWakeupUsecs on millisecond clock<br>
rollover.  Addresses a problem reported for 32 bit images converted to 64<br>
bit (e.g. Cuis port to Spur64) for which delay timing has not yet been<br>
updated to use microsecond primitives.  Prior to this change, the following<br>
would lock a 64 bit Spur image:<br>
        s := Semaphore new.<br>
        Delay primSignal: s atMilliseconds: Time primMillisecondClock - 10.<br>
        s wait.<br>
<br>
Sista<br>
Fixed a bug where directed super send byte was leaking numExtB, leading to<br>
the next instruction with ExtB being incorrectly interpreted<br>
<br>
Spur64BitMemoryManager must export fetchClassTagOf:.<br>
<br>
Cogit:<br>
Use unsigned int as the type of 32-bit instructions (ARM & MIPS).  Reduce<br>
code on the class side in defining the CogAbstractInstruction typedefs.<br>
Document that the limit on the Cogit's alloca more than ensures that the<br>
number of abstract instructions and bytecode fixups fits within 16 bits.<br>
<br>
Rename blockPass, saveForBlockCompile et al to compilationPass,<br>
saveForRecompile etc.  This so that RegisterAllocatingCogit can recompile<br>
when discovering a loop that needs a merge so that the register set<br>
computed at the end of a loop can be installed at the head.  Refactor<br>
initializeFixupAt: into it & initializeFixup: to support RAC's recompilation.<br>
Add some inlines to eliminate some thin intermediate functions.<br>
Add support for adding #ifdef's to struct defs and use it to avoid<br>
simNativeStackPtr and simNativeStackSize in non-Lowcode VMs.<br>
<br>
Lowcode:<br>
Refactoring the register allocation for the Lowcode instructions. The new<br>
register allocators are not yet tested because an error on the previous<br>
does not allow me to generate the sources for testing the refactoring.<br>
<br>
Surface Plugin:<br>
Allow defaulting the getSurfaceFormat, lockSurface, unlockSurface and<br>
showSurface functions to 0 to save time if a subset of these are callbacks,<br>
callbacks not being the fastest function invocations on the planet.<br>
<br>
IA32ABIPlugin support files.<br>
Rename abi support files to eliminate ia32 on non-ai32 platforms.<br>
<br>
Slang:<br>
Fix bug with type inference for #-.  The difference between two unsigned<br>
values is now interpreted as signed.<br>
<br>
Fix bug with inferring return types of methods that return unsigned typed<br>
variables and positive integer constants.  Don't interpret the type of an<br>
integer constant as #sqInt if the method also returns an unsigned.  So<br>
defer considering the non-negative integer return values unless no other<br>
return type information can be found.<br>
<br>
<br>
  Commit: 34460370a1fa9184aac9bcb0e56c1d<wbr>a09e84fcd4<br>
      <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/34460370a1fa9184aac9bcb0e56c1da09e84fcd4" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/commit/<wbr>34460370a1fa9184aac9bcb0e56c1d<wbr>a09e84fcd4</a><br>
  Author: Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>><br>
  Date:   2017-03-13 (Mon, 13 Mar 2017)<br>
<br>
  Changed paths:<br>
    M .appveyor.yml<br>
    M platforms/iOS/plugins/<wbr>CameraPlugin/<wbr>AVFoundationVideoGrabber.m<br>
<br>
  Log Message:<br>
  -----------<br>
  Merge branch 'Cog' of <a href="http://www.github.com/opensmalltalk/vm" rel="noreferrer" target="_blank">http://www.github.com/<wbr>opensmalltalk/vm</a> into Cog<br>
<br>
<br>
Compare: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/bfe3069a8710...34460370a1fa" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/compare/bfe3069a8710...<wbr>34460370a1fa</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>