Changeset 80254 in webkit


Ignore:
Timestamp:
Mar 3, 2011 10:28:29 AM (13 years ago)
Author:
timothy@apple.com
Message:

Use APIEntryShim instead of JSLock in SerializedScriptValue.

Source/JavaScriptCore: Make APIShims usable from WebCore.

Reviewed by Oliver Hunt.

Source/WebCore: Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
by contexts not created by WebCore.

https://webkit.org/b/55642

Reviewed by Oliver Hunt.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
(WebCore::SerializedScriptValue::deserialize): Ditto.

Location:
trunk/Source
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r80217 r80254  
     12011-03-03  Timothy Hatcher  <timothy@apple.com>
     2
     3        Make APIShims usable from WebCore.
     4
     5        Reviewed by Oliver Hunt.
     6
     7        * ForwardingHeaders/JavaScriptCore/APIShims.h: Added.
     8        * GNUmakefile.am:
     9        * JavaScriptCore.exp:
     10        * JavaScriptCore.gypi:
     11        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
     12        * JavaScriptCore.xcodeproj/project.pbxproj:
     13
    1142011-03-03  Peter Varga  <pvarga@webkit.org>
    215
  • trunk/Source/JavaScriptCore/GNUmakefile.am

    r79472 r80254  
    123123        Source/JavaScriptCore/debugger/Debugger.h \
    124124        Source/JavaScriptCore/ForwardingHeaders/JavaScriptCore/APICast.h \
     125        Source/JavaScriptCore/ForwardingHeaders/JavaScriptCore/APIShims.h \
    125126        Source/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScriptCore.h \
    126127        Source/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScript.h \
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r80052 r80254  
    185185__ZN3JSC17createSyntaxErrorEPNS_9ExecStateERKNS_7UStringE
    186186__ZN3JSC18DebuggerActivationC1ERNS_12JSGlobalDataEPNS_8JSObjectE
     187__ZN3JSC18MachineStackMarker14registerThreadEv
    187188__ZN3JSC18PropertyDescriptor11setWritableEb
    188189__ZN3JSC18PropertyDescriptor12setUndefinedEv
     
    210211__ZN3JSC35createInterruptedExecutionExceptionEPNS_12JSGlobalDataE
    211212__ZN3JSC3NaNE
     213__ZN3JSC4Heap16activityCallbackEv
    212214__ZN3JSC4Heap16allocateSlowCaseEm
    213215__ZN3JSC4Heap16objectTypeCountsEv
  • trunk/Source/JavaScriptCore/JavaScriptCore.gypi

    r80100 r80254  
    1616        'javascriptcore_privateheader_files': [
    1717            'API/APICast.h',
     18            'API/APIShims.h',
    1819            'API/JSBasePrivate.h',
    1920            'API/JSContextRefPrivate.h',
     
    252253            'AllInOneFile.cpp',
    253254            'ForwardingHeaders/JavaScriptCore/APICast.h',
     255            'ForwardingHeaders/JavaScriptCore/APIShims.h',
    254256            'ForwardingHeaders/JavaScriptCore/JSBase.h',
    255257            'ForwardingHeaders/JavaScriptCore/JSContextRef.h',
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make

    r78634 r80254  
    77    -mkdir 2>NUL "%ConfigurationBuildDir%\include\JavaScriptCore"
    88    xcopy /y /d "..\..\API\APICast.h" "%ConfigurationBuildDir%\include\JavaScriptCore"
     9    xcopy /y /d "..\..\API\APIShims.h" "%ConfigurationBuildDir%\include\JavaScriptCore"
    910    xcopy /y /d "..\..\API\JavaScript.h" "%ConfigurationBuildDir%\include\JavaScriptCore"
    1011    xcopy /y /d "..\..\API\JSBase.h" "%ConfigurationBuildDir%\include\JavaScriptCore"
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r80179 r80254  
    226226                86565742115BE3DA00291F40 /* CString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86565740115BE3DA00291F40 /* CString.cpp */; };
    227227                86565743115BE3DA00291F40 /* CString.h in Headers */ = {isa = PBXBuildFile; fileRef = 86565741115BE3DA00291F40 /* CString.h */; settings = {ATTRIBUTES = (Private, ); }; };
    228                 865F408810E7D56300947361 /* APIShims.h in Headers */ = {isa = PBXBuildFile; fileRef = 865F408710E7D56300947361 /* APIShims.h */; };
     228                865F408810E7D56300947361 /* APIShims.h in Headers */ = {isa = PBXBuildFile; fileRef = 865F408710E7D56300947361 /* APIShims.h */; settings = {ATTRIBUTES = (Private, ); }; };
    229229                86676D5211FED9BC004B6863 /* BumpPointerAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 86676D4D11FED55D004B6863 /* BumpPointerAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
    230230                86704B4212DB8A8100A9FE7B /* YarrSyntaxChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86704B4012DB8A8100A9FE7B /* YarrSyntaxChecker.cpp */; };
     
    556556                C0A272630E50A06300E96E15 /* NotFound.h in Headers */ = {isa = PBXBuildFile; fileRef = C0A2723F0E509F1E00E96E15 /* NotFound.h */; settings = {ATTRIBUTES = (Private, ); }; };
    557557                DD377CBC12072C18006A2517 /* Bitmap.h in Headers */ = {isa = PBXBuildFile; fileRef = DD377CBB12072C18006A2517 /* Bitmap.h */; settings = {ATTRIBUTES = (Private, ); }; };
    558                 DDF7ABD411F60ED200108E36 /* GCActivityCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF7ABD211F60ED200108E36 /* GCActivityCallback.h */; };
     558                DDF7ABD411F60ED200108E36 /* GCActivityCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF7ABD211F60ED200108E36 /* GCActivityCallback.h */; settings = {ATTRIBUTES = (Private, ); }; };
    559559                DDF7ABD511F60ED200108E36 /* GCActivityCallbackCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDF7ABD311F60ED200108E36 /* GCActivityCallbackCF.cpp */; };
    560560                E124A8F70E555775003091F1 /* OpaqueJSString.h in Headers */ = {isa = PBXBuildFile; fileRef = E124A8F50E555775003091F1 /* OpaqueJSString.h */; settings = {ATTRIBUTES = (Private, ); }; };
  • trunk/Source/WebCore/ChangeLog

    r80252 r80254  
     12011-03-03  Timothy Hatcher  <timothy@apple.com>
     2
     3        Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
     4        by contexts not created by WebCore.
     5
     6        https://webkit.org/b/55642
     7
     8        Reviewed by Oliver Hunt.
     9
     10        * bindings/js/SerializedScriptValue.cpp:
     11        (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
     12        (WebCore::SerializedScriptValue::deserialize): Ditto.
     13
    1142011-03-03  Alexey Proskuryakov  <ap@apple.com>
    215
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp

    r80070 r80254  
    4040#include <limits>
    4141#include <JavaScriptCore/APICast.h>
     42#include <JavaScriptCore/APIShims.h>
    4243#include <runtime/DateInstance.h>
    4344#include <runtime/Error.h>
    4445#include <runtime/ExceptionHelpers.h>
    45 #include <runtime/JSLock.h>
    4646#include <runtime/PropertyNameArray.h>
    4747#include <runtime/RegExp.h>
     
    13821382PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(JSContextRef originContext, JSValueRef apiValue, JSValueRef* exception)
    13831383{
    1384     JSLock lock(SilenceAssertionsOnly);
    13851384    ExecState* exec = toJS(originContext);
     1385    APIEntryShim entryShim(exec);
    13861386    JSValue value = toJS(exec, apiValue);
    13871387    PassRefPtr<SerializedScriptValue> serializedValue = SerializedScriptValue::create(exec, value);
     
    14081408JSValueRef SerializedScriptValue::deserialize(JSContextRef destinationContext, JSValueRef* exception)
    14091409{
    1410     JSLock lock(SilenceAssertionsOnly);
    14111410    ExecState* exec = toJS(destinationContext);
     1411    APIEntryShim entryShim(exec);
    14121412    JSValue value = deserialize(exec, exec->lexicalGlobalObject());
    14131413    if (exec->hadException()) {
Note: See TracChangeset for help on using the changeset viewer.