Ignore:
Timestamp:
Dec 4, 2015, 5:04:20 PM (10 years ago)
Author:
[email protected]
Message:

CRASH: CodeBlock::setOptimizationThresholdBasedOnCompilationResult + 567
https://bugs.webkit.org/show_bug.cgi?id=151892

Reviewed by Mark Lam.

When the debugger is in the process of attaching and it recompiles functions
for debugging, there can also be a DFG compilation running concurrently.
When we go to update the optimization threshold and find that the replacement
is also baseline code, we shouldn't update the threshold.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r192937 r193491  
    37063706   
    37073707    CodeBlock* theReplacement = replacement();
     3708
     3709    // If our replacement is baseline code, the debugger has probably attached and recompiled the function.
     3710    // No threshold to change.
     3711    if ((result == CompilationSuccessful) && (theReplacement->jitType() == JITCode::BaselineJIT))
     3712        return;
     3713
    37083714    if ((result == CompilationSuccessful) != (theReplacement != this)) {
    37093715        dataLog(*this, ": we have result = ", result, " but ");
Note: See TracChangeset for help on using the changeset viewer.