Ignore:
Timestamp:
Dec 18, 2009, 12:46:08 PM (16 years ago)
Author:
[email protected]
Message:

Fixed intermittent failure seen on Windows buildbot, and in other JSC
API clients.

Reviewed by Adam Roben.

Added a WeakGCPtr class and changed OpaqueJSClass::cachedPrototype to
use it, to avoid vending a stale object as a prototype.

  • API/JSClassRef.cpp:

(OpaqueJSClassContextData::OpaqueJSClassContextData):
(OpaqueJSClass::prototype):

  • API/JSClassRef.h: Use WeakGCPtr.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/WeakGCPtr.h: Added.

(JSC::WeakGCPtr::WeakGCPtr):
(JSC::WeakGCPtr::get):
(JSC::WeakGCPtr::clear):
(JSC::WeakGCPtr::operator*):
(JSC::WeakGCPtr::operator->):
(JSC::WeakGCPtr::operator!):
(JSC::WeakGCPtr::operator bool):
(JSC::WeakGCPtr::operator UnspecifiedBoolType):
(JSC::WeakGCPtr::assign):
(JSC::::operator):
(JSC::operator==):
(JSC::operator!=):
(JSC::static_pointer_cast):
(JSC::const_pointer_cast):
(JSC::getPtr): Added WeakGCPtr to the project.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj

    r52265 r52334  
    12231223                        <File
    12241224                                RelativePath="..\..\runtime\WeakGCMap.h"
     1225                                >
     1226                        </File>
     1227                        <File
     1228                                RelativePath="..\..\runtime\WeakGCPtr.h"
    12251229                                >
    12261230                        </File>
Note: See TracChangeset for help on using the changeset viewer.