[OpenSmalltalk/opensmalltalk-vm] b80dd6: Avoid an overflow in ioRelinquishProcessorForMicro...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] b80dd6: Avoid an overflow in ioRelinquishProcessorForMicro...

Eliot Miranda-3
 
  Branch: refs/heads/fix_issue_436
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: b80dd63c2aa1517b186099b9669a89e4385772cb
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b80dd63c2aa1517b186099b9669a89e4385772cb
  Author: [hidden email] <[hidden email]>
  Date:   2019-10-26 (Sat, 26 Oct 2019)

  Changed paths:
    M platforms/minheadless/unix/sqUnixHeartbeat.c
    M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c
    M platforms/unix/vm/sqUnixHeartbeat.c
    M platforms/unix/vm/sqUnixITimerHeartbeat.c
    M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c

  Log Message:
  -----------
  Avoid an overflow in ioRelinquishProcessorForMicroseconds


  Commit: 588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e
  Author: [hidden email] <[hidden email]>
  Date:   2019-10-26 (Sat, 26 Oct 2019)

  Changed paths:
    M platforms/Mac OS/vm/sqMacTime.c
    M platforms/iOS/vm/Common/Classes/sqMacV2Time.c
    M platforms/iOS/vm/Common/sqDummyaio.h
    M platforms/iOS/vm/iPhone/sqDummyaio.c
    M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c
    M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m
    M platforms/unix/vm/sqUnixITimerHeartbeat.c
    M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c

  Log Message:
  -----------
  Align iOS and obsolete Mac OS

- no need for aioSleep + aioSleepForUsecs that do the same thing
  keep only aioSleepForUsecs  like other platforms
- replace getNextWakeupTick (obsolete) with getNextWakeupUsecs
- align the prototype of aioSleepForUsecs on other platforms (long)
- align the prototype of ioRelinquishProcessorForMicroseconds (sqInt)

Note: I do not know why microSeconds argument to ioRelinquishProcessorForMicroseconds is ignored in iPhone
It is replaced by hardcoded 16ms


  Commit: 01b7df8d3afd347d7e5b9a3606362cc5c1fa1773
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01b7df8d3afd347d7e5b9a3606362cc5c1fa1773
  Author: [hidden email] <[hidden email]>
  Date:   2019-10-26 (Sat, 26 Oct 2019)

  Changed paths:
    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:
  -----------
  Fix primitiveSignalAtMilliseconds for the cog.v3 flavours

We could also fix it for the spur variants, but this can wait because those primitive are presumably unused (superseded by microsecond handling)


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b80dd63c2aa1%5E...01b7df8d3afd
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] b80dd6: Avoid an overflow in ioRelinquishProcessorForMicro...

johnmci
 
Note: I do not know why microSeconds argument to ioRelinquishProcessorForMicroseconds is ignored in iPhone
It is replaced by hardcoded 16ms

This hard coded value on IOS was to reduce CPU idle usage on iOS. However it could be changed to conform to the new MacOS behavior assuming that is better behaved now.



....
John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk


On Sat, Oct 26, 2019 at 12:30 AM, Nicolas Cellier <[hidden email]> wrote:

Branch: refs/heads/fix_issue_436
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: b80dd63c2aa1517b186099b9669a89e4385772cb
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b80dd63c2aa1517b186099b9669a89e4385772cb
Author: [hidden email] <[hidden email]>
Date: 2019-10-26 (Sat, 26 Oct 2019)

Changed paths:
M platforms/minheadless/unix/sqUnixHeartbeat.c
M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c
M platforms/unix/vm/sqUnixHeartbeat.c
M platforms/unix/vm/sqUnixITimerHeartbeat.c
M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c

Log Message:
-----------
Avoid an overflow in ioRelinquishProcessorForMicroseconds


Commit: 588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e
Author: [hidden email] <[hidden email]>
Date: 2019-10-26 (Sat, 26 Oct 2019)

Changed paths:
M platforms/Mac OS/vm/sqMacTime.c
M platforms/iOS/vm/Common/Classes/sqMacV2Time.c
M platforms/iOS/vm/Common/sqDummyaio.h
M platforms/iOS/vm/iPhone/sqDummyaio.c
M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c
M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m
M platforms/unix/vm/sqUnixITimerHeartbeat.c
M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c

Log Message:
-----------
Align iOS and obsolete Mac OS

- no need for aioSleep + aioSleepForUsecs that do the same thing
keep only aioSleepForUsecs like other platforms
- replace getNextWakeupTick (obsolete) with getNextWakeupUsecs
- align the prototype of aioSleepForUsecs on other platforms (long)
- align the prototype of ioRelinquishProcessorForMicroseconds (sqInt)

Note: I do not know why microSeconds argument to ioRelinquishProcessorForMicroseconds is ignored in iPhone
It is replaced by hardcoded 16ms


Commit: 01b7df8d3afd347d7e5b9a3606362cc5c1fa1773
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01b7df8d3afd347d7e5b9a3606362cc5c1fa1773
Author: [hidden email] <[hidden email]>
Date: 2019-10-26 (Sat, 26 Oct 2019)

Changed paths:
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:
-----------
Fix primitiveSignalAtMilliseconds for the cog.v3 flavours

We could also fix it for the spur variants, but this can wait because those primitive are presumably unused (superseded by microsecond handling)


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b80dd63c2aa1%5E...01b7df8d3afd