Ignore:
Timestamp:
Sep 7, 2010, 5:33:15 PM (15 years ago)
Author:
[email protected]
Message:

2010-09-07 Mihai Parparita <[email protected]>

Reviewed by Oliver Hunt.

pushState and replaceState do not clone RegExp objects correctly
https://bugs.webkit.org/show_bug.cgi?id=44718

Move internal representation of JSC::RegExp (which depends on wether
YARR and YARR_JIT is enabled) into RegExpRepresentation which can live
in the implementation only. This makes it feasible to use RegExp in
WebCore without bringing in all of YARR.

  • JavaScriptCore.exp: Export RegExp and RegExpObject functions that are needed inside WebCore's JSC bindings.
  • runtime/RegExp.cpp: (JSC::RegExpRepresentation::~RegExpRepresentation): (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::compile): (JSC::RegExp::match):
  • runtime/RegExp.h:

2010-09-07 Mihai Parparita <[email protected]>

Reviewed by Oliver Hunt.

pushState and replaceState do not clone RegExp objects correctly
https://bugs.webkit.org/show_bug.cgi?id=44718

Make RegExp test of pushstate-object-types.html actually test a RegExp
value with flags.

Also adds ImageData since it can be serialized as of r54646.

  • fast/loader/stateobjects/pushstate-object-types-expected.txt:
  • fast/loader/stateobjects/pushstate-object-types.html:

2010-09-07 Mihai Parparita <[email protected]>

Reviewed by Oliver Hunt.

pushState and replaceState do not clone RegExp objects correctly
https://bugs.webkit.org/show_bug.cgi?id=44718

Add RegExp support to the JSC implementation of SerializedScriptValue
(it stores the pattern and flags read from a RegExpObject, and creates
a new one on deserialization).

Tests: fast/loader/stateobjects/pushstate-object-types.html

  • ForwardingHeaders/runtime/RegExp.h: Added.
  • ForwardingHeaders/runtime/RegExpObject.h: Added.
  • bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::readTerminal):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r66850 r66936  
    482482__ZNK3JSC11Interpreter18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERNS_7JSValueE
    483483__ZNK3JSC12PropertySlot14functionGetterEPNS_9ExecStateE
     484__ZN3JSC12RegExpObject4infoE
     485__ZN3JSC12RegExpObjectC1EPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEENS4_INS_6RegExpEEE
    484486__ZNK3JSC14JSGlobalObject14isDynamicScopeERb
    485487__ZNK3JSC16InternalFunction9classInfoEv
     
    512514__ZNK3JSC6JSCell9getUInt32ERj
    513515__ZNK3JSC6JSCell9toBooleanEPNS_9ExecStateE
     516__ZN3JSC6RegExp6createEPNS_12JSGlobalDataERKNS_7UStringES5_
     517__ZN3JSC6RegExpD1Ev
    514518__ZNK3JSC7ArgList8getSliceEiRS0_
    515519__ZNK3JSC7JSArray12subclassDataEv
Note: See TracChangeset for help on using the changeset viewer.