Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (208322 => 208323)
--- trunk/Source/_javascript_Core/ChangeLog 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-11-03 04:21:30 UTC (rev 208323)
@@ -1,5 +1,16 @@
2016-11-02 Yusuke Suzuki <utatane....@gmail.com>
+ Unreviewed, fix CLoop build after r208320.
+ https://bugs.webkit.org/show_bug.cgi?id=162980
+
+ Add required forward declarations.
+
+ * domjit/DOMJITHeapRange.cpp:
+ * domjit/DOMJITSignature.h:
+ * runtime/VM.h:
+
+2016-11-02 Yusuke Suzuki <utatane....@gmail.com>
+
[DOMJIT] Add DOMJIT::Signature
https://bugs.webkit.org/show_bug.cgi?id=162980
Modified: trunk/Source/_javascript_Core/domjit/DOMJITHeapRange.cpp (208322 => 208323)
--- trunk/Source/_javascript_Core/domjit/DOMJITHeapRange.cpp 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/_javascript_Core/domjit/DOMJITHeapRange.cpp 2016-11-03 04:21:30 UTC (rev 208323)
@@ -26,8 +26,6 @@
#include "config.h"
#include "DOMJITHeapRange.h"
-#if ENABLE(JIT)
-
namespace JSC { namespace DOMJIT {
void HeapRange::dump(PrintStream& out) const
@@ -36,5 +34,3 @@
}
} }
-
-#endif
Modified: trunk/Source/_javascript_Core/domjit/DOMJITSignature.h (208322 => 208323)
--- trunk/Source/_javascript_Core/domjit/DOMJITSignature.h 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/_javascript_Core/domjit/DOMJITSignature.h 2016-11-03 04:21:30 UTC (rev 208323)
@@ -55,10 +55,12 @@
{
}
+#if ENABLE(JIT)
Ref<Patchpoint> checkDOM() const
{
return checkDOMGeneratorFunction();
}
+#endif
uintptr_t unsafeFunction;
CheckDOMGeneratorFunction* checkDOMGeneratorFunction;
Modified: trunk/Source/_javascript_Core/runtime/VM.h (208322 => 208323)
--- trunk/Source/_javascript_Core/runtime/VM.h 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/_javascript_Core/runtime/VM.h 2016-11-03 04:21:30 UTC (rev 208323)
@@ -141,6 +141,9 @@
namespace Profiler {
class Database;
}
+namespace DOMJIT {
+class Signature;
+}
struct HashTable;
struct Instruction;
Modified: trunk/Source/WebCore/ChangeLog (208322 => 208323)
--- trunk/Source/WebCore/ChangeLog 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/WebCore/ChangeLog 2016-11-03 04:21:30 UTC (rev 208323)
@@ -1,3 +1,14 @@
+2016-11-02 Yusuke Suzuki <utatane....@gmail.com>
+
+ Unreviewed, fix CLoop build after r208320.
+ https://bugs.webkit.org/show_bug.cgi?id=162980
+
+ Guard with ENABLE(JIT).
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
+
2016-11-02 Brady Eidson <beid...@apple.com>
Expand upon IndexedDB status in features.json.
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (208322 => 208323)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-11-03 04:21:30 UTC (rev 208323)
@@ -2701,15 +2701,21 @@
my $domJITSignatureName = "DOMJITSignatureFor" . $interface->type->name . $codeGenerator->WK_ucfirst($function->name);
my $classInfo = "JS" . $interface->type->name . "::info()";
my $resultType = GetResultTypeFilter($interface, $function->type);
- my $domJITSignature = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((uintptr_t)${unsafeFunctionName}, DOMJIT::checkDOM<$interfaceName>, $classInfo, JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), ${resultType}";
+ my $domJITSignatureHeader = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((uintptr_t)${unsafeFunctionName},";
+ my $domJITSignatureFooter = "$classInfo, JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), ${resultType}";
foreach my $argument (@{$function->arguments}) {
my $type = $argument->type;
my $argumentType = GetArgumentTypeFilter($interface, $type);
- $domJITSignature .= ", ${argumentType}";
+ $domJITSignatureFooter .= ", ${argumentType}";
}
+ $domJITSignatureFooter .= ");";
my $conditionalString = $codeGenerator->GenerateConditionalString($function);
push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
- push(@implContent, $domJITSignature . ");\n");
+ push(@implContent, "#if ENABLE(JIT)\n");
+ push(@implContent, "$domJITSignatureHeader DOMJIT::checkDOM<$interfaceName>, $domJITSignatureFooter\n");
+ push(@implContent, "#else\n");
+ push(@implContent, "$domJITSignatureHeader nullptr, $domJITSignatureFooter\n");
+ push(@implContent, "#endif\n");
push(@implContent, "#endif\n") if $conditionalString;
push(@implContent, "\n");
}
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp (208322 => 208323)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2016-11-03 04:06:33 UTC (rev 208322)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2016-11-03 04:21:30 UTC (rev 208323)
@@ -95,15 +95,35 @@
JSC::EncodedJSValue jsTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
bool setJSTestDOMJITConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
+#if ENABLE(JIT)
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#else
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#endif
+#if ENABLE(JIT)
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
+#else
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
+#endif
+#if ENABLE(JIT)
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
+#else
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
+#endif
+#if ENABLE(JIT)
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#else
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#endif
+#if ENABLE(JIT)
static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, DOMJIT::checkDOM<TestDOMJIT>, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#else
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, nullptr, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+#endif
class JSTestDOMJITPrototype : public JSC::JSNonFinalObject {
public: