<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>For us clueless end users and application tier coders, what will we see when this is done?<br><br><br>A folllow up newbie question...<br><br>Squeak in morphic is, I assume, single threaded -- Test runner must run to completion before morphic events are processed-- for example.<br><br>Does this MT FFI create a possibility of  two xterm based Squeeak REPLs  interacting , correctly, with Cog/Spur ?<br><br><br><div id="message"></div><br id="br3"><div id="signature"></div><div id="content"><br> ---- On Sat, 31 Jul 2021 15:13:15 -0400 <b> bera.clement@gmail.com </b> wrote ----<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); padding-left: 6px; margin-left: 5px;"><div> <div dir="ltr">It's about threaded FFI implemented in the VM.</div><br><div class="x_-1666628073gmail_quote"><div dir="ltr" class="x_-1666628073gmail_attr">On Thu, Jul 29, 2021 at 4:29 PM Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>> wrote:<br></div><blockquote class="x_-1666628073gmail_quote" style="margin :  0px 0px 0px 0.8ex; border-left :  1px solid rgb(204,204,204); padding-left :  1ex; "> <div id="x_-1666628073gmail-m_-4510672584474798642__MailbirdStyleContent" style="font-size :  10pt; font-family :  Arial; color :  rgb(0,0,0); text-align :  left; " dir="ltr">Hi all!<div></div><div><br></div><div>Here is a rather broad question: What is "CogMT" about? For whom are those multiple threads (MT)? :-)</div><div><br></div><div>The only build configuration I can find is build.linux64ARMv8/squeak.cogmt.spur. There is an issue with the type of sqOSSemaphore. That got me interested in the idea of CogMT ... which predates ARMv8 by a lot, right?</div><div><br></div><div>Best,</div><div>Marcel</div><div><br></div><div>*** </div><div><br></div><div><pre>2021-07-29T11:17:34.6297654Z In file included from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogitARMv8.c:16,
2021-07-29T11:17:34.6305778Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogit.c:11:
2021-07-29T11:17:34.6312562Z /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:75:4: error: conflicting types for 'sqOSSemaphore'
2021-07-29T11:17:34.6323676Z   } sqOSSemaphore;
2021-07-29T11:17:34.6324255Z     ^~~~~~~~~~~~~
2021-07-29T11:17:34.6325724Z In file included from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/platforms/Cross/vm/sqMemoryAccess.h:472,
2021-07-29T11:17:34.6327528Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:35,
2021-07-29T11:17:34.6329210Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogitARMv8.c:16,
2021-07-29T11:17:34.6330958Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogit.c:11:
2021-07-29T11:17:34.6332629Z /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:75:4: note: previous declaration of 'sqOSSemaphore' was here
2021-07-29T11:17:34.6333826Z   } sqOSSemaphore;
2021-07-29T11:17:34.6334219Z     ^~~~~~~~~~~~~
2021-07-29T11:17:34.9588384Z In file included from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/platforms/Cross/vm/dispdbg.h:8,
2021-07-29T11:17:34.9589908Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogitARMv8.c:19,
2021-07-29T11:17:34.9591283Z                  from /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogit.c:11:
2021-07-29T11:17:34.9593124Z /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogitARMv8.c: In function 'allMachineCodeObjectReferencesValid':
2021-07-29T11:17:34.9605356Z /home/runner/work/opensmalltalk-vm/opensmalltalk-vm/spur64src/vm/cogitARMv8.c:7855:52: warning: passing argument 2 of 'mapForperformUntilarg' from incompatible pointer type [-Wincompatible-pointer-types]
2021-07-29T11:17:34.9607673Z     if (!(asserta((mapForperformUntilarg(cogMethod, checkIfValidOopRefAndTargetpccogMethod, cogMethod)) == 0))) {
2021-07-29T11:17:34.9608918Z                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</pre></div></div></blockquote></div><br><div><br></div>-- <br><div dir="ltr" class="x_-1666628073gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><span style="font-size :  12.8px; ">Clément Béra<br></span><span style="color :  rgb(0,0,238); "><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span><div style="font-size :  12.8px; "><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div></div></div></div></div></div>
</div></blockquote></div></div><br></body></html>