Bug 1529735 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Before the patch for bug 1377131 the code in nsJSContext::RunNextCollectorTimer looked like this:

  if (sCCRunner) {
    if (ReadyToTriggerExpensiveCollectorTimer()) {
      CCRunnerFired(TimeStamp());
    }
    return;
  }
 
  if (sICCRunner) {
    ICCRunnerFired(TimeStamp());
    return;
  }

but after that bug (and on tip) it looks like this:

  if (sCCRunner) {
    sCCRunner->SetDeadline(aDeadline);
    runnable = sCCRunner;
  }

  if (sICCRunner) {
    sICCRunner->SetDeadline(aDeadline);
    runnable = sICCRunner;
  }

  if (runnable) {
    runnable->Run();
  }

In particular, of both sCCRunner and sICCRunner are non-null, we used to do CCRunnerFired() and return.  But now we'll run sICCRunner.  Is that an intended change in behavior?
Before the patch for bug 1377131 the code in nsJSContext::RunNextCollectorTimer looked like this:
```
  if (sCCRunner) {
    if (ReadyToTriggerExpensiveCollectorTimer()) {
      CCRunnerFired(TimeStamp());
    }
    return;
  }
 
  if (sICCRunner) {
    ICCRunnerFired(TimeStamp());
    return;
  }
```
but after that bug (and on tip) it looks like this:
```
  if (sCCRunner) {
    sCCRunner->SetDeadline(aDeadline);
    runnable = sCCRunner;
  }

  if (sICCRunner) {
    sICCRunner->SetDeadline(aDeadline);
    runnable = sICCRunner;
  }

  if (runnable) {
    runnable->Run();
  }
```
In particular, of both sCCRunner and sICCRunner are non-null, we used to do CCRunnerFired() and return.  But now we'll run sICCRunner.  Is that an intended change in behavior?

Back to Bug 1529735 Comment 0