<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/3/12 12:03 PM, Blake McBride
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABwHSOuMdixVjKxwvGKqX=Gdbv_+h+QThVEQ1DAkR5UN4XQ=7g@mail.gmail.com"
      type="cite"><br>
      <br>
      <div class="gmail_quote">On Mon, Dec 3, 2012 at 10:55 AM, Bob
        Arning <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:arning315@comcast.net" target="_blank">arning315@comcast.net</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div class="im"><br>
            On 12/3/12 11:42 AM, Frank Shearar wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                &nbsp; In true reentrancy each recursive call would
                essentially get their own VM.<br>
                &gt;<br>
                &gt;They could, but what's in the VM that they really
                need a separate copy of?<br>
              </blockquote>
              It's not the VM, it's the shared state of the image that
              would cause a<br>
              problem (if anything did). I would think, at least.<br>
            </blockquote>
          </div>
          If that were the case, then he would need not only his own VM,
          but his own image. If these calls from C are expecting a
          virgin image with the ability to execute arbitrary smalltalk
          code and never see anybody else's data, then a separate image
          (or at leat super sandbox) would seem a requirement. OTOH, if
          he wanted to make use of some BitBlt functions, e.g., then he
          could ship a bitmap to Squeak, request some transformation and
          receive a new bitmap in return. In this case, one Vm and one
          image would seem to do nicely.<br>
        </blockquote>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Yes, separate instance of the image. &nbsp;It would be
          self-managed for free of the global variables in the VM kernel
          were eliminated. &nbsp;A simple clone already loaded image function
          could make this work relatively fast.</div>
        <div><br>
        </div>
      </div>
    </blockquote>
    So, it sounds like what you need is<br>
    - a virgin squeak image for each call<br>
    - virgin VM globals pertaining to that image<br>
    <br>
    And what you could, potentially, share is the VM excutable code.
    Since the VM code is a small part of the footprint, I think your
    requirements are basically met by a new VM/image for each call. Not
    sure there is much to be saved getting a new image and keeping the
    same VM.<br>
    <br>
    <br>
    Cheers,<br>
    Bob<br>
    <blockquote
cite="mid:CABwHSOuMdixVjKxwvGKqX=Gdbv_+h+QThVEQ1DAkR5UN4XQ=7g@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">
        <div>&nbsp;</div>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <br>
          Cheers,<br>
          Bob<br>
          <br>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>