Ignore:
Timestamp:
Apr 28, 2008, 11:22:14 AM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Darin.

Fix run-webkit-tests --threading
and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
Proxy server issue in Sunday's Nightly

Changed ClassInfo objects for built-in objects to hold a getter function returning
a per-thread instance. This makes it safe to share these ClassInfo objects between threads -
and these are the only ones that need to be shared.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/ExecState.cpp

    r31746 r32652  
    3434namespace KJS {
    3535
    36 static inline List* globalEmptyList()
    37 {
    38     static List staticEmptyList;
    39     return &staticEmptyList;
    40 }
    41 
    4236// ECMA 10.2
    4337
     
    4640    : m_globalObject(globalObject)
    4741    , m_exception(0)
    48     , m_propertyNames(CommonIdentifiers::shared())
    49     , m_emptyList(globalEmptyList())
    5042    , m_callingExec(0)
     43    , m_perThreadData(globalObject->perThreadData())
    5144    , m_scopeNode(0)
    5245    , m_function(0)
     
    6861    : m_globalObject(globalObject)
    6962    , m_exception(0)
    70     , m_propertyNames(CommonIdentifiers::shared())
    71     , m_emptyList(globalEmptyList())
    7263    , m_callingExec(0)
     64    , m_perThreadData(globalObject->perThreadData())
    7365    , m_scopeNode(programNode)
    7466    , m_function(0)
     
    9183    : m_globalObject(globalObject)
    9284    , m_exception(0)
    93     , m_propertyNames(callingExec->m_propertyNames)
    94     , m_emptyList(callingExec->m_emptyList)
    9585    , m_callingExec(callingExec)
     86    , m_perThreadData(callingExec->m_perThreadData)
    9687    , m_scopeNode(evalNode)
    9788    , m_function(0)
Note: See TracChangeset for help on using the changeset viewer.