<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 4/29/2016 8:03 AM, Tony Printezis
      wrote:<br>
    </div>
    <blockquote cite="mid:etPan.572377b1.236ee83a.367@tw-mbp-tprintezis"
      type="cite">
      <style>body{font-family:Helvetica,Arial;font-size:13px}</style>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Ramki and Jon,</div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br>
      </div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;">I hate to
        confused things further. :-) I just realized that if only ParNew
        needs the promotion tracking to be enabled for the parallel
        workers, aren’t we better off just letting ParNew enable /
        disable it when it needs to instead of always doing so in the
        CMSGeneration prologue / epilogue?</div>
    </blockquote>
    <br>
    Tony,<br>
    <br>
    I can see how nicely this works with the implementation but adding
    the new method <br>
    par_oop_since_save_marks_iterate_start() to Generation causes me
    some concern.<br>
    If there were another collector that used
    par_oop_since_save_marks_iterate_start(),<br>
    it would make more sense to me.<br>
    <br>
    Going with your previous version where the CMSGen epilogue/prologue
    is<br>
    responsible for this does make sense from the point of view that it
    is done<br>
    by the generation that needs it.<br>
    <br>
    Alternatively, we could just all admit that ParNew only works with
    CMS and<br>
    make the _old_gen in ParNewGeneration a
    ConcurrentMarkSweepGeneration*<br>
    and avoid adding the method to Generation.  This might not work so
    easily with<br>
    full GC's and ScavengeBeforeFullGC though.<br>
    <br>
    I think this is more important for you guys then for us so don't
    hesitant to<br>
    push for the solution you like.<br>
    <br>
    Jon<br>
    <blockquote cite="mid:etPan.572377b1.236ee83a.367@tw-mbp-tprintezis"
      type="cite">
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br>
      </div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Here’s an
        alternative webrev for your consideration:</div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br>
      </div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><a
          moz-do-not-send="true"
          href="http://cr.openjdk.java.net/%7Etonyp/8155257/webrev.3.suggestion/"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tonyp/8155257/webrev.3.suggestion/">http://cr.openjdk.java.net/~tonyp/8155257/webrev.3.suggestion/</a></a></div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br>
      </div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;">I think I
        prefer this approach but I’m OK with either. (And, yes, I’ll
        actually expand the comments I’ve marked as TODO if you prefer
        this one.)</div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br>
      </div>
      <div id="bloop_customfont"
        style="font-family:Helvetica,Arial;font-size:13px; color:
        rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Tony</div>
      <br>
      <p class="airmail_on">On April 29, 2016 at 10:13:27 AM, Tony
        Printezis (<a moz-do-not-send="true"
          href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a>)
        wrote:</p>
      <blockquote type="cite" class="clean_bq"><span>
          <div style="word-wrap: break-word; -webkit-nbsp-mode: space;
            -webkit-line-break: after-white-space;">
            <div>
              <title></title>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                Ramki,</div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                <br>
              </div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                Thanks for the feedback. Latest webrev:</div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                <br>
              </div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                <a moz-do-not-send="true"
                  href="http://cr.openjdk.java.net/%7Etonyp/8155257/webrev.2/">http://cr.openjdk.java.net/~tonyp/8155257/webrev.2/</a></div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                <br>
              </div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                I rephrased the three comments in
                concurrentMarkSweepGeneration.cpp
                before the calls to {start,stop}TrackingPromotions().
                The logic
                should be the same.</div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                <br>
              </div>
              <div id="bloop_customfont"
                style="font-family:Helvetica,Arial;font-size:13px;
                color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
                Tony</div>
              <br>
              <p class="airmail_on">On April 28, 2016 at 9:48:26 PM,
                Srinivas
                Ramakrishna (<a moz-do-not-send="true"
                  href="mailto:ysr1729@gmail.com">ysr1729@gmail.com</a>)
                wrote:</p>
              <blockquote type="cite" class="clean_bq">
                <div>
                  <div>
                    <div dir="ltr">
                      <div style="font-size:12.8000001907349px"><span>(Resent
                          from my
                          gmail id: as my twitter email id isn't
                          registered with the openjdk
                          lists; please pardon duplicates.)</span></div>
                      <div style="font-size:12.8000001907349px"><span><br>
                        </span></div>
                      <div style="font-size:12.8000001907349px"><span>Looks
                          good to me
                          too. Minor remarks regarding the documentation
                          comments:</span></div>
                      <div style="font-size:12.8000001907349px"><span><br>
                        </span></div>
                      <div style="font-size:12.8000001907349px">
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><span><span style="color:blue;font-weight:bold">1098   // The par_oop_since_save_marks_iterate_done() method should be</span>
<span style="color:blue;font-weight:bold">1099   // called at the end of the main ParNew parallel phase to collapse</span>
<span style="color:blue;font-weight:bold">1100   // the promoted object lists. Given that we don't want promoted</span>
<span style="color:blue;font-weight:bold">1101   // objects to be tracked in future phases (e.g., during reference</span>
<span style="color:blue;font-weight:bold">1102   // processing) we disable promoted object tracking.</span>
</span>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><span style="color:blue;font-weight:bold">
</span>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Perhaps just say:</font>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">// Because card-scanning has been completed, further promotions, if any,</font>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font style="font-size:12.8000001907349px" face="arial, helvetica, sans-serif">// e.g. during reference processing, </font><span style="font-size:12.8000001907349px;font-family:arial,helvetica,sans-serif">will not need to keep track of promoted objects.</span>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><span style="font-family:arial,helvetica,sans-serif">Also instead of:</span>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><span style="color:blue;font-weight:bold">// Enable promotion tracking for the main parallel ParNew phase.</span>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif">perhaps:</font>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif">// We track promoted objects to allow card-scanning to skip them.</font>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif">and instead of:</font>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif">But leaving them as is fine too.</font>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif">reviewed!</font>
</pre>
                        <pre style="white-space:pre-wrap"><span class=""><font color="#888888"><font face="arial, helvetica, sans-serif">-- ramki</font></font></span>
</pre>
                        <pre style="white-space:pre-wrap;color:rgb(0,0,0)"><span style="color:blue">2133   // Promotion tracking should be disabled at the end of the ParNew</span>
<span style="color:blue">2134   // parallel phase....</span>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif" color="#000000">perhaps:</font>
</pre>
                        <pre style="white-space:pre-wrap"><font face="arial, helvetica, sans-serif" color="#000000">// When using ParNew, promoted object tracking would already have been disabled, however, ...</font>
</pre>
                      </div>
                      <div class="gmail_extra"><span class=""><font
                            color="#888888"><br>
                          </font></span>
                        <div class="gmail_quote"><span class=""><font
                              color="#888888">On
                              Thu, Apr 28, 2016 at 2:06 PM, Tony
                              Printezis <span dir="ltr"><<a
                                  moz-do-not-send="true"
                                  href="mailto:tprintezis@twitter.com"
                                  target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></a>></span>
                              wrote:<br>
                            </font></span>
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex">
                            <div style="word-wrap:break-word">
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class="">Thanks Jon! New webrev here:</span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class=""><br>
                                </span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class=""><a moz-do-not-send="true"
                                    href="http://cr.openjdk.java.net/%7Etonyp/8155257/webrev.1/"
                                    target="_blank">http://cr.openjdk.java.net/~tonyp/8155257/webrev.1/</a></span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class=""><br>
                                </span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class="">Compared to the previous one,
                                  I only changed the
                                  comments before the two calls to
                                  stopTrackingPromotions(). The
                                  logic should be the same. Will also
                                  run another set of tests
                                  overnight. </span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class=""><font color="#888888"><br>
                                  </font></span></div>
                              <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span
                                  class=""><font color="#888888">Tony</font></span></div>
                              <div>
                                <div class="h5"><br>
                                  <p>On April 28, 2016 at 5:02:17 PM,
                                    Jon Masamitsu (<a
                                      moz-do-not-send="true"
                                      href="mailto:jon.masamitsu@oracle.com"
                                      target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:jon.masamitsu@oracle.com">jon.masamitsu@oracle.com</a></a>)
                                    wrote:</p>
                                  <blockquote type="cite">
                                    <div bgcolor="#FFFFFF"
                                      text="#000000">
                                      <div><span><br>
                                          <br>
                                        </span>
                                        <div><span>On 04/28/2016 01:51
                                            PM, Tony Printezis
                                            wrote:<br>
                                          </span></div>
                                        <blockquote type="cite">
                                          <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>Jon
                                              (CCing Ramki),</span></div>
                                          <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                            </span></div>
                                          <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>Re:
                                              comment 2: Actually, it
                                              looks as if we have to
                                              call
                                              stopPromotionTracking in
                                              the epilogue. The prologue
                                              / epilogue are
                                              called irrespective of the
                                              type of GC. So they are
                                              also called for
                                              Full GCs which won’t call
                                              the method to tear down
                                              the lists. I
                                              think it’d be safer to
                                              just call
                                              stopPromotionTracking() in
                                              the
                                              epilogue, as I had it
                                              before, with an amended
                                              comment?</span></div>
                                        </blockquote>
                                        <span><br>
                                          That sounds good. I like the
                                          symmetry of putting the
                                          stopPromotionTracking in the
                                          epilogue. <br>
                                          <br>
                                          And yes, I'll run some
                                          addition tests when the latest
                                          patch comes
                                          out.<br>
                                          <br>
                                          Jon<br>
                                          <br>
                                        </span>
                                        <blockquote type="cite">
                                          <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                            </span></div>
                                          <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>Tony</span></div>
                                          <span><br>
                                          </span>
                                          <p><span>On April 28, 2016 at
                                              4:33:44 PM, Tony Printezis
                                              (<a moz-do-not-send="true"
href="mailto:tprintezis@twitter.com" target="_blank">tprintezis@twitter.com</a>)
                                              wrote:</span></p>
                                          <blockquote type="cite">
                                            <div
                                              style="word-wrap:break-word">
                                              <div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><span>Hi
                                                      Jon,</span></span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                                  </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>Thanks
                                                    for looking at it! </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                                  </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>comment
                                                    1 : “this method”
                                                    refers to the
                                                    enclosing method
                                                    (i.e.,
                                                    par_oop_since_save_marks_iterate_done()).
                                                    I’ll clarify. (I
                                                    also spotted a typo
                                                    in the comment! I’ll
                                                    fix that
                                                    too.)</span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                                  </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>comment
                                                    2 : You’re right,
                                                    actually. Good
                                                    suggestion. I
                                                    thought it might be
                                                    awkward because of
                                                    the ParNew-CMS
                                                    interaction
                                                    going through the
                                                    generation
                                                    abstractions. But in
                                                    this code I’m
                                                    already in the CMS
                                                    generation and I can
                                                    access the promoInfo
                                                    directly. So I’ll
                                                    just assert that
                                                    tracking is off and
                                                    the list is
                                                    empty.</span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                                  </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>I’ll
                                                    post a new webrev in
                                                    a bit. FWIW,
                                                    overnight testing
                                                    didn’t reveal any
                                                    issues (and I’ll run
                                                    it again given the
                                                    “stop
                                                    tracking” ->
                                                    “sanity checks”
                                                    change). Any chance
                                                    you can also
                                                    run some tests when
                                                    I post the new
                                                    webrev just in
                                                    case?</span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span><br>
                                                  </span></div>
                                                <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><span>Tony</span></div>
                                                <span><br>
                                                </span>
                                                <p><span>On April 28,
                                                    2016 at 1:20:55 PM,
                                                    Jon Masamitsu (<a
                                                      moz-do-not-send="true"
href="mailto:jon.masamitsu@oracle.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:jon.masamitsu@oracle.com">jon.masamitsu@oracle.com</a></a>)
                                                    wrote:</span></p>
                                                <blockquote type="cite">
                                                  <div bgcolor="#FFFFFF"
                                                    text="#000000">
                                                    <div><span><span><font
                                                          face="Times
                                                          New Roman,
                                                          Times, serif">Tony,<br>
                                                          <br>
                                                          Changes look
                                                          good.  Couple
                                                          of small
                                                          points.<br>
                                                          <br>
                                                          <a
                                                          moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Etonyp/8155257/webrev.0/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp.frames.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tonyp/8155257/webrev.0/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp.frames.html">http://cr.openjdk.java.net/~tonyp/8155257/webrev.0/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp.frames.html</a></a><br>
                                                          </font><br>
                                                        </span></span>
                                                      <pre><span><span>1097   // This method should be called at the end of the main ParNew</span>
<span>1098   // parallel phase to collapse the promoted object lists. Given that</span>
<span>1099   // we don't want promoted objects to be tracked in future phases</span>
<span>1100   // (e.g., during reference processing) we also disable promote</span>
<span>1101   // object tracking here.</span>
</span>
</pre>
                                                      <font face="Times
                                                        New Roman,
                                                        Times, serif">The
                                                        placement of
                                                        this
                                                        block comment
                                                        was slightly
                                                        confusing.  I
                                                        wasn't<br>
                                                        sure if "This
                                                        method ..."
                                                        applied
                                                        specirfically 
                                                        to the
stopTrackingPromotions()<br>
                                                        until the last
                                                        part "also
                                                        disable ...".  
                                                        Would it be
                                                        better placed
                                                        before the
                                                        method.<br>
                                                      </font><br>
                                                      <pre>2132   // Also reset promotion tracking in par gc thread states.
<span>2133   // I don't think this is really needed, as promotion tracking should</span>
<span>2134   // have already been disabled. However, it sanity checks that the</span>
<span>2135   // promotion lists are empty so I think it's helpful to leave it in.</span>
</pre>
                                                      The comment makes
                                                      clear you intent
                                                      but  is there a
                                                      simpler and
                                                      more direct<br>
                                                      sanity check you
                                                      can use?  Comments
                                                      sometimes get lost
                                                      in the
                                                      fog of code<br>
                                                      churn and calling
                                                      a method just for
                                                      sanity checkinf
                                                      seems wasteful
                                                      and confusing<br>
                                                      (Why is
                                                      stopTrackingPromotions()
                                                      call twice?  Is
                                                      there
                                                      something that the<br>
                                                      first all didn't
                                                      do? Yes, you
                                                      comment explains
                                                      it but I have to
                                                      read the comment.)<br>
                                                      If you agree you
                                                      can fix it at a
                                                      later time.  If
                                                      you disagree,
                                                      I'll silently
                                                      forget about it
                                                      :-).<br>
                                                      <br>
                                                      Jon<br>
                                                      <br>
                                                      <div>On 04/27/2016
                                                        01:40 PM, Tony
                                                        Printezis wrote:<br>
                                                      </div>
                                                      <blockquote
                                                        type="cite">
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Small
                                                          changes to
                                                          clean up when
                                                          promoted
                                                          object
                                                          tracking is
                                                          enabled
                                                          / disabled and
                                                          when tearing
                                                          down the
                                                          promoted
                                                          object lists
                                                          is
                                                          done:</div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br>
                                                        </div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><a
moz-do-not-send="true"
                                                          href="http://cr.openjdk.java.net/%7Etonyp/8155257/webrev.0/"
target="_blank"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tonyp/8155257/webrev.0/">http://cr.openjdk.java.net/~tonyp/8155257/webrev.0/</a></a></div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br>
                                                        </div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">I
                                                          also had to
                                                          amend an
                                                          assert which
                                                          was too strong
                                                          and removed
                                                          the
                                                          worker_id
                                                          argument from
                                                          the
                                                          stopTrackingPromotions()
                                                          method as it
                                                          was actually
                                                          not used.</div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br>
                                                        </div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">I’ll
                                                          run more
                                                          testing
                                                          overnight.</div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br>
                                                        </div>
                                                        <div
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Tony</div>
                                                        <br>
                                                        <div>
                                                          <div
                                                          style="font-family:helvetica,arial;font-size:13px">
                                                          <div>-----</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Tony
                                                          Printezis |
                                                          JVM/GC
                                                          Engineer / VM
                                                          Team | Twitter</div>
                                                          <div><br>
                                                          </div>
                                                          <div>@TonyPrintezis</div>
                                                          <div><a
                                                          moz-do-not-send="true"
href="mailto:tprintezis@twitter.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></a></div>
                                                          <div><br>
                                                          </div>
                                                          </div>
                                                        </div>
                                                      </blockquote>
                                                      <br>
                                                    </div>
                                                  </div>
                                                </blockquote>
                                                <div>
                                                  <div
                                                    style="font-family:helvetica,arial;font-size:13px">
                                                    <div>-----</div>
                                                    <div><br>
                                                    </div>
                                                    <div>Tony Printezis
                                                      | JVM/GC Engineer
                                                      / VM Team |
                                                      Twitter</div>
                                                    <div><br>
                                                    </div>
                                                    <div>@TonyPrintezis</div>
                                                    <div><a
                                                        moz-do-not-send="true"
href="mailto:tprintezis@twitter.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></a></div>
                                                    <div><br>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                          </blockquote>
                                          <div>
                                            <div
                                              style="font-family:helvetica,arial;font-size:13px">
                                              <div>-----</div>
                                              <div><br>
                                              </div>
                                              <div>Tony Printezis |
                                                JVM/GC Engineer / VM
                                                Team | Twitter</div>
                                              <div><br>
                                              </div>
                                              <div>@TonyPrintezis</div>
                                              <div><a
                                                  moz-do-not-send="true"
href="mailto:tprintezis@twitter.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></a></div>
                                              <div><br>
                                              </div>
                                            </div>
                                          </div>
                                        </blockquote>
                                        <br>
                                      </div>
                                    </div>
                                  </blockquote>
                                  <div>
                                    <div
                                      style="font-family:helvetica,arial;font-size:13px">
                                      <div>-----</div>
                                      <div><br>
                                      </div>
                                      <div>Tony Printezis | JVM/GC
                                        Engineer / VM Team | Twitter</div>
                                      <div><br>
                                      </div>
                                      <div>@TonyPrintezis</div>
                                      <div><a moz-do-not-send="true"
                                          href="mailto:tprintezis@twitter.com"
                                          target="_blank">tprintezis@twitter.com</a></div>
                                      <div><br>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </blockquote>
                        </div>
                        <br>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <div id="bloop_sign_1461938962388339968"
                class="bloop_sign">
                <div style="font-family:helvetica,arial;font-size:13px">
                  <div>-----</div>
                  <div><br>
                  </div>
                  <div>Tony Printezis | JVM/GC Engineer / VM Team |
                    Twitter</div>
                  <div><br>
                  </div>
                  <div>@TonyPrintezis</div>
                  <div><a moz-do-not-send="true"
                      href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></div>
                  <div><br>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </span></blockquote>
      <div id="bloop_sign_1461941952758243072" class="bloop_sign">
        <div style="font-family:helvetica,arial;font-size:13px">
          <div>-----</div>
          <div><br>
          </div>
          <div>Tony Printezis | JVM/GC Engineer / VM Team | Twitter</div>
          <div><br>
          </div>
          <div>@TonyPrintezis</div>
          <div><a moz-do-not-send="true"
              href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></div>
          <div><br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>