Modified: trunk/Source/_javascript_Core/ChangeLog (161561 => 161562)
--- trunk/Source/_javascript_Core/ChangeLog 2014-01-09 18:34:57 UTC (rev 161561)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-01-09 18:46:20 UTC (rev 161562)
@@ -1,3 +1,16 @@
+2014-01-09 Balazs Kilvady <[email protected]>
+
+ Regression: failing RegExp tests on 32 bit architectures.
+ https://bugs.webkit.org/show_bug.cgi?id=126699
+
+ Reviewed by Michael Saboff.
+
+ Fix setRegExpConstructor functions for 32 bit architectures.
+
+ * runtime/RegExpConstructor.cpp:
+ (JSC::setRegExpConstructorInput):
+ (JSC::setRegExpConstructorMultiline):
+
2014-01-09 Commit Queue <[email protected]>
Unreviewed, rolling out r161540.
Modified: trunk/Source/_javascript_Core/runtime/RegExpConstructor.cpp (161561 => 161562)
--- trunk/Source/_javascript_Core/runtime/RegExpConstructor.cpp 2014-01-09 18:34:57 UTC (rev 161561)
+++ trunk/Source/_javascript_Core/runtime/RegExpConstructor.cpp 2014-01-09 18:46:20 UTC (rev 161562)
@@ -45,8 +45,8 @@
static EncodedJSValue regExpConstructorDollar8(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
static EncodedJSValue regExpConstructorDollar9(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static void setRegExpConstructorInput(ExecState*, JSObject*, JSValue);
-static void setRegExpConstructorMultiline(ExecState*, JSObject*, JSValue);
+static void setRegExpConstructorInput(ExecState*, EncodedJSValue, EncodedJSValue);
+static void setRegExpConstructorMultiline(ExecState*, EncodedJSValue, EncodedJSValue);
} // namespace JSC
@@ -243,14 +243,14 @@
lookupPut<RegExpConstructor, InternalFunction>(exec, propertyName, value, ExecState::regExpConstructorTable(exec), jsCast<RegExpConstructor*>(cell), slot);
}
-void setRegExpConstructorInput(ExecState* exec, JSObject* baseObject, JSValue value)
+void setRegExpConstructorInput(ExecState* exec, EncodedJSValue baseObject, EncodedJSValue value)
{
- asRegExpConstructor(baseObject)->setInput(exec, value.toString(exec));
+ asRegExpConstructor(asObject(JSValue::decode(baseObject)))->setInput(exec, JSValue::decode(value).toString(exec));
}
-void setRegExpConstructorMultiline(ExecState* exec, JSObject* baseObject, JSValue value)
+void setRegExpConstructorMultiline(ExecState* exec, EncodedJSValue baseObject, EncodedJSValue value)
{
- asRegExpConstructor(baseObject)->setMultiline(value.toBoolean(exec));
+ asRegExpConstructor(asObject(JSValue::decode(baseObject)))->setMultiline(JSValue::decode(value).toBoolean(exec));
}
// ECMA 15.10.4