Changeset 44022

Show
Ignore:
Timestamp:
05/21/09 18:38:53 (10 months ago)
Author:
mrowe@apple.com
Message:

Merge r43976.

Location:
branches/WWDC-2009-branch/JavaScriptCore
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/WWDC-2009-branch/JavaScriptCore/ChangeLog

    r44005 r44022  
     12009-05-21  Mark Rowe  <mrowe@apple.com> 
     2 
     3        Merge r43976. 
     4 
     5    2009-05-21  Mark Rowe  <mrowe@apple.com> 
     6 
     7        Reviewed by Oliver Hunt. 
     8 
     9        Fix <https://bugs.webkit.org/show_bug.cgi?id=25917> / <rdar://problem/6910066>. 
     10        Bug 25917: REGRESSION (r43559?): Javascript debugger crashes when pausing page 
     11 
     12        The debugger currently retrieves the arguments object from an activation rather than pulling 
     13        it from a call frame.  This is unreliable to due to the recent optimization to lazily create 
     14        the arguments object.  In the long-term it should stop doing that (<rdar://problem/6911886>), 
     15        but for now we force eager creation of the arguments object when debugging. 
     16 
     17        * bytecompiler/BytecodeGenerator.cpp: 
     18        (JSC::BytecodeGenerator::BytecodeGenerator): 
     19 
    1202009-05-21  Mark Rowe  <mrowe@apple.com> 
    221 
  • branches/WWDC-2009-branch/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r43661 r44022  
    333333        emitOpcode(op_enter); 
    334334 
    335      if (usesArguments) 
     335     if (usesArguments) { 
    336336        emitOpcode(op_init_arguments); 
     337 
     338        // The debugger currently retrieves the arguments object from an activation rather than pulling 
     339        // it from a call frame.  In the long-term it should stop doing that (<rdar://problem/6911886>), 
     340        // but for now we force eager creation of the arguments object when debugging. 
     341        if (m_shouldEmitDebugHooks) 
     342            emitOpcode(op_create_arguments); 
     343    } 
    337344 
    338345    const DeclarationStacks::FunctionStack& functionStack = functionBody->functionStack();