Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (208076 => 208077)
--- trunk/Source/_javascript_Core/ChangeLog 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1,5 +1,61 @@
2016-10-28 Yusuke Suzuki <utatane....@gmail.com>
+ [DOMJIT] Rename CallDOM to CallDOMGetter
+ https://bugs.webkit.org/show_bug.cgi?id=164157
+
+ Reviewed by Keith Miller.
+
+ Rename CallDOM to CallDOMGetter to represent that
+ this is used for DOMJIT getter explicitly.
+ CallDOM will be used for DOM functions (like element.getAttribute()) later.
+
+ * _javascript_Core.xcodeproj/project.pbxproj:
+ * bytecode/PolymorphicAccess.cpp:
+ (JSC::AccessCase::emitDOMJITGetter):
+ * dfg/DFGAbstractInterpreterInlines.h:
+ (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::blessCallDOMGetter):
+ (JSC::DFG::ByteCodeParser::handleDOMJITGetter):
+ (JSC::DFG::blessCallDOM): Deleted.
+ * dfg/DFGClobberize.h:
+ (JSC::DFG::clobberize):
+ * dfg/DFGDoesGC.cpp:
+ (JSC::DFG::doesGC):
+ * dfg/DFGFixupPhase.cpp:
+ (JSC::DFG::FixupPhase::fixupNode):
+ * dfg/DFGGraph.h:
+ * dfg/DFGNode.h:
+ (JSC::DFG::Node::hasHeapPrediction):
+ (JSC::DFG::Node::hasCallDOMGetterData):
+ (JSC::DFG::Node::callDOMGetterData):
+ (JSC::DFG::Node::hasCallDOMData): Deleted.
+ (JSC::DFG::Node::callDOMData): Deleted.
+ * dfg/DFGNodeType.h:
+ * dfg/DFGPredictionPropagationPhase.cpp:
+ * dfg/DFGSafeToExecute.h:
+ (JSC::DFG::safeToExecute):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compileCallDOMGetter):
+ (JSC::DFG::SpeculativeJIT::compileCallDOM): Deleted.
+ * dfg/DFGSpeculativeJIT.h:
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * domjit/DOMJITCallDOMGetterPatchpoint.h: Renamed from Source/_javascript_Core/domjit/DOMJITCallDOMPatchpoint.h.
+ (JSC::DOMJIT::CallDOMGetterPatchpoint::create):
+ * domjit/DOMJITGetterSetter.h:
+ * ftl/FTLCapabilities.cpp:
+ (JSC::FTL::canCompile):
+ * ftl/FTLLowerDFGToB3.cpp:
+ (JSC::FTL::DFG::LowerDFGToB3::compileNode):
+ (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter):
+ (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): Deleted.
+ * jsc.cpp:
+
+2016-10-28 Yusuke Suzuki <utatane....@gmail.com>
+
Unreviewed, build fix in CLoop builds after r208063.
Include required headers.
Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (208076 => 208077)
--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2016-10-28 22:57:10 UTC (rev 208077)
@@ -2179,7 +2179,7 @@
E33F50871B8449EF00413856 /* JSInternalPromiseConstructor.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = E33F50861B8449EF00413856 /* JSInternalPromiseConstructor.lut.h */; };
E34EDBF71DB5FFC900DC87A5 /* FrameTracers.h in Headers */ = {isa = PBXBuildFile; fileRef = E34EDBF61DB5FFC100DC87A5 /* FrameTracers.h */; settings = {ATTRIBUTES = (Private, ); }; };
E354622B1B6065D100545386 /* ConstructAbility.h in Headers */ = {isa = PBXBuildFile; fileRef = E354622A1B6065D100545386 /* ConstructAbility.h */; settings = {ATTRIBUTES = (Private, ); }; };
- E3555B8A1DAE03A500F36921 /* DOMJITCallDOMPatchpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = E3555B891DAE03A200F36921 /* DOMJITCallDOMPatchpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ E3555B8A1DAE03A500F36921 /* DOMJITCallDOMGetterPatchpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = E3555B891DAE03A200F36921 /* DOMJITCallDOMGetterPatchpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
E355F3521B7DC85300C50DC5 /* ModuleLoaderPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E355F3501B7DC85300C50DC5 /* ModuleLoaderPrototype.cpp */; };
E355F3531B7DC85300C50DC5 /* ModuleLoaderPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = E355F3511B7DC85300C50DC5 /* ModuleLoaderPrototype.h */; };
E35CA1531DBC3A5C00F83516 /* DOMJITHeapRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E35CA1511DBC3A5600F83516 /* DOMJITHeapRange.cpp */; };
@@ -4575,7 +4575,7 @@
E33F50881B844A1A00413856 /* InternalPromiseConstructor.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode._javascript_; path = InternalPromiseConstructor.js; sourceTree = "<group>"; };
E34EDBF61DB5FFC100DC87A5 /* FrameTracers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameTracers.h; sourceTree = "<group>"; };
E354622A1B6065D100545386 /* ConstructAbility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConstructAbility.h; sourceTree = "<group>"; };
- E3555B891DAE03A200F36921 /* DOMJITCallDOMPatchpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMJITCallDOMPatchpoint.h; sourceTree = "<group>"; };
+ E3555B891DAE03A200F36921 /* DOMJITCallDOMGetterPatchpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMJITCallDOMGetterPatchpoint.h; sourceTree = "<group>"; };
E355F3501B7DC85300C50DC5 /* ModuleLoaderPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ModuleLoaderPrototype.cpp; sourceTree = "<group>"; };
E355F3511B7DC85300C50DC5 /* ModuleLoaderPrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModuleLoaderPrototype.h; sourceTree = "<group>"; };
E35CA14F1DBC3A5600F83516 /* DOMJITAbstractHeap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMJITAbstractHeap.cpp; sourceTree = "<group>"; };
@@ -7476,7 +7476,7 @@
children = (
E35CA14F1DBC3A5600F83516 /* DOMJITAbstractHeap.cpp */,
E35CA1501DBC3A5600F83516 /* DOMJITAbstractHeap.h */,
- E3555B891DAE03A200F36921 /* DOMJITCallDOMPatchpoint.h */,
+ E3555B891DAE03A200F36921 /* DOMJITCallDOMGetterPatchpoint.h */,
E3C79CAA1DB9A4D600D1ECA4 /* DOMJITEffect.h */,
E3FF752F1D9CEA1200C7E16D /* DOMJITGetterSetter.h */,
E35CA1511DBC3A5600F83516 /* DOMJITHeapRange.cpp */,
@@ -8396,7 +8396,7 @@
A7C1EAF017987AB600299DB2 /* CLoopStackInlines.h in Headers */,
BC18C4270E16F5CD00B34460 /* JSString.h in Headers */,
86E85539111B9968001AF51E /* JSStringBuilder.h in Headers */,
- E3555B8A1DAE03A500F36921 /* DOMJITCallDOMPatchpoint.h in Headers */,
+ E3555B8A1DAE03A500F36921 /* DOMJITCallDOMGetterPatchpoint.h in Headers */,
70EC0EC31AA0D7DA00B6AAFA /* JSStringIterator.h in Headers */,
0F070A471D543A8B006E7232 /* CellContainer.h in Headers */,
2600B5A7152BAAA70091EE5F /* JSStringJoiner.h in Headers */,
Modified: trunk/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -32,7 +32,7 @@
#include "CCallHelpers.h"
#include "CodeBlock.h"
#include "DOMJITAccessCasePatchpointParams.h"
-#include "DOMJITCallDOMPatchpoint.h"
+#include "DOMJITCallDOMGetterPatchpoint.h"
#include "DirectArguments.h"
#include "GetterSetter.h"
#include "Heap.h"
@@ -1432,7 +1432,7 @@
GPRReg scratchGPR = state.scratchGPR;
// We construct the environment that can execute the DOMJIT::Patchpoint here.
- Ref<DOMJIT::CallDOMPatchpoint> patchpoint = m_rareData->domJIT->callDOM();
+ Ref<DOMJIT::CallDOMGetterPatchpoint> patchpoint = m_rareData->domJIT->callDOMGetter();
Vector<GPRReg> gpScratch;
Vector<FPRReg> fpScratch;
Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -2289,12 +2289,12 @@
filterClassInfo(value, node->classInfo());
break;
}
- case CallDOM: {
- CallDOMData* callDOMData = node->callDOMData();
- DOMJIT::CallDOMPatchpoint* patchpoint = callDOMData->patchpoint;
+ case CallDOMGetter: {
+ CallDOMGetterData* callDOMGetterData = node->callDOMGetterData();
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint = callDOMGetterData->patchpoint;
if (patchpoint->effect.writes)
clobberWorld(node->origin.semantic, clobberLimit);
- forNode(node).setType(m_graph, callDOMData->domJIT->resultType());
+ forNode(node).setType(m_graph, callDOMGetterData->domJIT->resultType());
break;
}
case CheckArray: {
Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -2673,9 +2673,9 @@
RELEASE_ASSERT_NOT_REACHED();
}
-static void blessCallDOM(Node* node)
+static void blessCallDOMGetter(Node* node)
{
- DOMJIT::CallDOMPatchpoint* patchpoint = node->callDOMData()->patchpoint;
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint = node->callDOMGetterData()->patchpoint;
if (!patchpoint->effect.mustGenerate())
node->clearFlags(NodeMustGenerate);
}
@@ -2698,22 +2698,22 @@
// We do not need to emit CheckCell thingy here. When the custom accessor is replaced to different one, Structure transition occurs.
addToGraph(CheckDOM, OpInfo(checkDOMPatchpoint.ptr()), OpInfo(domJIT->thisClassInfo()), thisNode);
- CallDOMData* callDOMData = m_graph.m_callDOMData.add();
- Ref<DOMJIT::CallDOMPatchpoint> callDOMPatchpoint = domJIT->callDOM();
- m_graph.m_domJITPatchpoints.append(callDOMPatchpoint.ptr());
+ CallDOMGetterData* callDOMGetterData = m_graph.m_callDOMGetterData.add();
+ Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetterPatchpoint = domJIT->callDOMGetter();
+ m_graph.m_domJITPatchpoints.append(callDOMGetterPatchpoint.ptr());
- callDOMData->domJIT = domJIT;
- callDOMData->patchpoint = callDOMPatchpoint.ptr();
+ callDOMGetterData->domJIT = domJIT;
+ callDOMGetterData->patchpoint = callDOMGetterPatchpoint.ptr();
- Node* callDOMNode = nullptr;
+ Node* callDOMGetterNode = nullptr;
// GlobalObject of thisNode is always used to create a DOMWrapper.
- if (callDOMPatchpoint->requireGlobalObject) {
+ if (callDOMGetterPatchpoint->requireGlobalObject) {
Node* globalObject = addToGraph(GetGlobalObject, thisNode);
- callDOMNode = addToGraph(CallDOM, OpInfo(callDOMData), OpInfo(prediction), thisNode, globalObject);
+ callDOMGetterNode = addToGraph(CallDOMGetter, OpInfo(callDOMGetterData), OpInfo(prediction), thisNode, globalObject);
} else
- callDOMNode = addToGraph(CallDOM, OpInfo(callDOMData), OpInfo(prediction), thisNode);
- blessCallDOM(callDOMNode);
- set(VirtualRegister(resultOperand), callDOMNode);
+ callDOMGetterNode = addToGraph(CallDOMGetter, OpInfo(callDOMGetterData), OpInfo(prediction), thisNode);
+ blessCallDOMGetter(callDOMGetterNode);
+ set(VirtualRegister(resultOperand), callDOMGetterNode);
return true;
}
Modified: trunk/Source/_javascript_Core/dfg/DFGClobberize.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGClobberize.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGClobberize.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -33,7 +33,7 @@
#include "DFGHeapLocation.h"
#include "DFGLazyNode.h"
#include "DFGPureValue.h"
-#include "DOMJITCallDOMPatchpoint.h"
+#include "DOMJITCallDOMGetterPatchpoint.h"
namespace JSC { namespace DFG {
@@ -908,8 +908,8 @@
def(PureValue(node, node->classInfo()));
return;
- case CallDOM: {
- DOMJIT::CallDOMPatchpoint* patchpoint = node->callDOMData()->patchpoint;
+ case CallDOMGetter: {
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint = node->callDOMGetterData()->patchpoint;
DOMJIT::Effect effect = patchpoint->effect;
if (effect.reads) {
if (effect.reads == DOMJIT::HeapRange::top())
@@ -926,7 +926,7 @@
if (effect.def) {
DOMJIT::HeapRange range = effect.def.value();
if (range == DOMJIT::HeapRange::none())
- def(PureValue(node, node->callDOMData()->domJIT));
+ def(PureValue(node, node->callDOMGetterData()->domJIT));
else {
// Def with heap location. We do not include "GlobalObject" for that since this information is included in the base node.
// FIXME: When supporting the other nodes like getElementById("string"), we should include the base and the id string.
Modified: trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -298,7 +298,7 @@
case StringReplaceRegExp:
case CreateRest:
case ToLowerCase:
- case CallDOM:
+ case CallDOMGetter:
return true;
case MultiPutByOffset:
Modified: trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1710,8 +1710,8 @@
fixEdge<CellUse>(node->child1());
break;
- case CallDOM: {
- DOMJIT::CallDOMPatchpoint* patchpoint = node->callDOMData()->patchpoint;
+ case CallDOMGetter: {
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint = node->callDOMGetterData()->patchpoint;
fixEdge<CellUse>(node->child1()); // DOM.
if (patchpoint->requireGlobalObject)
fixEdge<KnownCellUse>(node->child2()); // GlobalObject.
Modified: trunk/Source/_javascript_Core/dfg/DFGGraph.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGGraph.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGGraph.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -901,7 +901,7 @@
Bag<LoadVarargsData> m_loadVarargsData;
Bag<StackAccessData> m_stackAccessData;
Bag<LazyJSValue> m_lazyJSValues;
- Bag<CallDOMData> m_callDOMData;
+ Bag<CallDOMGetterData> m_callDOMGetterData;
Vector<InlineVariableData, 4> m_inlineVariableData;
HashMap<CodeBlock*, std::unique_ptr<FullBytecodeLiveness>> m_bytecodeLiveness;
HashMap<CodeBlock*, std::unique_ptr<BytecodeKills>> m_bytecodeKills;
Modified: trunk/Source/_javascript_Core/dfg/DFGNode.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGNode.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGNode.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -61,7 +61,7 @@
namespace DOMJIT {
class GetterSetter;
class Patchpoint;
-class CallDOMPatchpoint;
+class CallDOMGetterPatchpoint;
}
namespace Profiler {
@@ -232,9 +232,9 @@
FlushedAt flushedAt() { return FlushedAt(format, machineLocal); }
};
-struct CallDOMData {
+struct CallDOMGetterData {
DOMJIT::GetterSetter* domJIT { nullptr };
- DOMJIT::CallDOMPatchpoint* patchpoint { nullptr };
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint { nullptr };
};
// === Node ===
@@ -1459,7 +1459,7 @@
case StringReplaceRegExp:
case ToNumber:
case LoadFromJSMapBucket:
- case CallDOM:
+ case CallDOMGetter:
return true;
default:
return false;
@@ -2342,15 +2342,15 @@
return m_opInfo.as<DOMJIT::Patchpoint*>();
}
- bool hasCallDOMData() const
+ bool hasCallDOMGetterData() const
{
- return op() == CallDOM;
+ return op() == CallDOMGetter;
}
- CallDOMData* callDOMData()
+ CallDOMGetterData* callDOMGetterData()
{
- ASSERT(hasCallDOMData());
- return m_opInfo.as<CallDOMData*>();
+ ASSERT(hasCallDOMGetterData());
+ return m_opInfo.as<CallDOMGetterData*>();
}
bool hasClassInfo() const
Modified: trunk/Source/_javascript_Core/dfg/DFGNodeType.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGNodeType.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGNodeType.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -404,7 +404,7 @@
macro(ToLowerCase, NodeResultJS) \
/* Nodes for DOM JIT */\
macro(CheckDOM, NodeMustGenerate) \
- macro(CallDOM, NodeResultJS | NodeMustGenerate) \
+ macro(CallDOMGetter, NodeResultJS | NodeMustGenerate) \
// This enum generates a monotonically increasing id for all Node types,
// and is used by the subsequent enum to fill out the id (as accessed via the NodeIdMask).
Modified: trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -709,7 +709,7 @@
case GetFromArguments:
case LoadFromJSMapBucket:
case ToNumber:
- case CallDOM: {
+ case CallDOMGetter: {
setPrediction(m_currentNode->getHeapPrediction());
break;
}
Modified: trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -218,7 +218,7 @@
case CheckStructure:
case GetExecutable:
case GetButterfly:
- case CallDOM:
+ case CallDOMGetter:
case CheckDOM:
case CheckArray:
case Arrayify:
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -7223,9 +7223,9 @@
}
}
-void SpeculativeJIT::compileCallDOM(Node* node)
+void SpeculativeJIT::compileCallDOMGetter(Node* node)
{
- DOMJIT::CallDOMPatchpoint* patchpoint = node->callDOMData()->patchpoint;
+ DOMJIT::CallDOMGetterPatchpoint* patchpoint = node->callDOMGetterData()->patchpoint;
Vector<GPRReg> gpScratch;
Vector<FPRReg> fpScratch;
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -2560,7 +2560,7 @@
void compileAllocatePropertyStorage(Node*);
void compileReallocatePropertyStorage(Node*);
void compileGetButterfly(Node*);
- void compileCallDOM(Node*);
+ void compileCallDOMGetter(Node*);
void compileCheckDOM(Node*);
#if USE(JSVALUE32_64)
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -5554,8 +5554,8 @@
break;
}
- case CallDOM:
- compileCallDOM(node);
+ case CallDOMGetter:
+ compileCallDOMGetter(node);
break;
case CheckDOM:
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -5685,8 +5685,8 @@
compileMaterializeNewObject(node);
break;
- case CallDOM:
- compileCallDOM(node);
+ case CallDOMGetter:
+ compileCallDOMGetter(node);
break;
case CheckDOM:
Copied: trunk/Source/_javascript_Core/domjit/DOMJITCallDOMGetterPatchpoint.h (from rev 208076, trunk/Source/_javascript_Core/domjit/DOMJITCallDOMPatchpoint.h) (0 => 208077)
--- trunk/Source/_javascript_Core/domjit/DOMJITCallDOMGetterPatchpoint.h (rev 0)
+++ trunk/Source/_javascript_Core/domjit/DOMJITCallDOMGetterPatchpoint.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(JIT)
+
+#include "DOMJITEffect.h"
+#include "DOMJITPatchpoint.h"
+#include "RegisterSet.h"
+
+namespace JSC { namespace DOMJIT {
+
+class CallDOMGetterPatchpoint : public Patchpoint {
+public:
+ static Ref<CallDOMGetterPatchpoint> create()
+ {
+ return adoptRef(*new CallDOMGetterPatchpoint());
+ }
+
+ // To look up DOMWrapper cache, GlobalObject is required.
+ // FIXME: Later, we will extend this patchpoint to represent the result type by DOMJIT::Signature.
+ // And after that, we will automatically pass a global object when the result type includes a DOM wrapper thing.
+ // https://bugs.webkit.org/show_bug.cgi?id=162980
+ bool requireGlobalObject { true };
+
+ Effect effect { };
+
+private:
+ CallDOMGetterPatchpoint() = default;
+};
+
+} }
+
+#endif
Deleted: trunk/Source/_javascript_Core/domjit/DOMJITCallDOMPatchpoint.h (208076 => 208077)
--- trunk/Source/_javascript_Core/domjit/DOMJITCallDOMPatchpoint.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/domjit/DOMJITCallDOMPatchpoint.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(JIT)
-
-#include "DOMJITEffect.h"
-#include "DOMJITPatchpoint.h"
-#include "RegisterSet.h"
-
-namespace JSC { namespace DOMJIT {
-
-class CallDOMPatchpoint : public Patchpoint {
-public:
- static Ref<CallDOMPatchpoint> create()
- {
- return adoptRef(*new CallDOMPatchpoint());
- }
-
- // To look up DOMWrapper cache, GlobalObject is required.
- // FIXME: Later, we will extend this patchpoint to represent the result type by DOMJIT::Signature.
- // And after that, we will automatically pass a global object when the result type includes a DOM wrapper thing.
- // https://bugs.webkit.org/show_bug.cgi?id=162980
- bool requireGlobalObject { true };
-
- Effect effect { };
-
-private:
- CallDOMPatchpoint() = default;
-};
-
-} }
-
-#endif
Modified: trunk/Source/_javascript_Core/domjit/DOMJITGetterSetter.h (208076 => 208077)
--- trunk/Source/_javascript_Core/domjit/DOMJITGetterSetter.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/domjit/DOMJITGetterSetter.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -25,7 +25,7 @@
#pragma once
-#include "DOMJITCallDOMPatchpoint.h"
+#include "DOMJITCallDOMGetterPatchpoint.h"
#include "PropertySlot.h"
#include "PutPropertySlot.h"
#include "SpeculatedType.h"
@@ -53,7 +53,7 @@
SpeculatedType resultType() const { return m_resultType; }
#if ENABLE(JIT)
- virtual Ref<DOMJIT::CallDOMPatchpoint> callDOM() = 0;
+ virtual Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() = 0;
virtual Ref<DOMJIT::Patchpoint> checkDOM() = 0;
#endif
Modified: trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -271,7 +271,7 @@
case DefineAccessorProperty:
case ToLowerCase:
case CheckDOM:
- case CallDOM:
+ case CallDOMGetter:
// These are OK.
break;
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1057,8 +1057,8 @@
case CheckDOM:
compileCheckDOM();
break;
- case CallDOM:
- compileCallDOM();
+ case CallDOMGetter:
+ compileCallDOMGetter();
break;
case PhantomLocal:
@@ -9062,9 +9062,9 @@
patchpoint->effects = Effects::forCheck();
}
- void compileCallDOM()
+ void compileCallDOMGetter()
{
- DOMJIT::CallDOMPatchpoint* domJIT = m_node->callDOMData()->patchpoint;
+ DOMJIT::CallDOMGetterPatchpoint* domJIT = m_node->callDOMGetterData()->patchpoint;
Edge& baseEdge = m_node->child1();
LValue base = lowCell(baseEdge);
Modified: trunk/Source/_javascript_Core/jsc.cpp (208076 => 208077)
--- trunk/Source/_javascript_Core/jsc.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/_javascript_Core/jsc.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -632,9 +632,9 @@
return JSValue::encode(jsNumber(static_cast<DOMJITGetter*>(pointer)->value()));
}
- Ref<DOMJIT::CallDOMPatchpoint> callDOM() override
+ Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override
{
- Ref<DOMJIT::CallDOMPatchpoint> patchpoint = DOMJIT::CallDOMPatchpoint::create();
+ Ref<DOMJIT::CallDOMGetterPatchpoint> patchpoint = DOMJIT::CallDOMGetterPatchpoint::create();
patchpoint->requireGlobalObject = false;
patchpoint->setGenerator([=](CCallHelpers& jit, DOMJIT::PatchpointParams& params) {
JSValueRegs results = params[0].jsValueRegs();
@@ -725,9 +725,9 @@
return JSValue::encode(jsNumber(object->value()));
}
- Ref<DOMJIT::CallDOMPatchpoint> callDOM() override
+ Ref<DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override
{
- RefPtr<DOMJIT::CallDOMPatchpoint> patchpoint = DOMJIT::CallDOMPatchpoint::create();
+ RefPtr<DOMJIT::CallDOMGetterPatchpoint> patchpoint = DOMJIT::CallDOMGetterPatchpoint::create();
static_assert(GPRInfo::numberOfRegisters >= 4, "Number of registers should be larger or equal to 4.");
patchpoint->numGPScratchRegisters = GPRInfo::numberOfRegisters - 4;
patchpoint->numFPScratchRegisters = 3;
Modified: trunk/Source/WebCore/ChangeLog (208076 => 208077)
--- trunk/Source/WebCore/ChangeLog 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/WebCore/ChangeLog 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1,3 +1,36 @@
+2016-10-28 Yusuke Suzuki <utatane....@gmail.com>
+
+ [DOMJIT] Rename CallDOM to CallDOMGetter
+ https://bugs.webkit.org/show_bug.cgi?id=164157
+
+ Reviewed by Keith Miller.
+
+ No behavior change.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ * bindings/scripts/test/JS/JSTestDOMJIT.h:
+ * domjit/JSDocumentDOMJIT.cpp:
+ (WebCore::DocumentDocumentElementDOMJIT::callDOMGetter):
+ (WebCore::DocumentDocumentElementDOMJIT::callDOM): Deleted.
+ * domjit/JSNodeDOMJIT.cpp:
+ (WebCore::createCallDOMGetterForOffsetAccess):
+ (WebCore::NodeFirstChildDOMJIT::callDOMGetter):
+ (WebCore::NodeLastChildDOMJIT::callDOMGetter):
+ (WebCore::NodeNextSiblingDOMJIT::callDOMGetter):
+ (WebCore::NodePreviousSiblingDOMJIT::callDOMGetter):
+ (WebCore::NodeParentNodeDOMJIT::callDOMGetter):
+ (WebCore::NodeNodeTypeDOMJIT::callDOMGetter):
+ (WebCore::NodeOwnerDocumentDOMJIT::callDOMGetter):
+ (WebCore::createCallDOMForOffsetAccess): Deleted.
+ (WebCore::NodeFirstChildDOMJIT::callDOM): Deleted.
+ (WebCore::NodeLastChildDOMJIT::callDOM): Deleted.
+ (WebCore::NodeNextSiblingDOMJIT::callDOM): Deleted.
+ (WebCore::NodePreviousSiblingDOMJIT::callDOM): Deleted.
+ (WebCore::NodeParentNodeDOMJIT::callDOM): Deleted.
+ (WebCore::NodeNodeTypeDOMJIT::callDOM): Deleted.
+ (WebCore::NodeOwnerDocumentDOMJIT::callDOM): Deleted.
+
2016-10-28 Dave Hyatt <hy...@apple.com>
[CSS Parser] Fix font-family parsing inside @font-face
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (208076 => 208077)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-10-28 22:57:10 UTC (rev 208077)
@@ -1749,7 +1749,7 @@
push(@headerContent, " $domJITClassName();\n");
push(@headerContent, "#if ENABLE(JIT)\n");
push(@headerContent, " Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;\n");
- push(@headerContent, " Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;\n");
+ push(@headerContent, " Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;\n");
push(@headerContent, "#endif\n");
push(@headerContent, "};\n\n");
}
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h (208076 => 208077)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h 2016-10-28 22:57:10 UTC (rev 208077)
@@ -74,7 +74,7 @@
TestDOMJITAnyAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -84,7 +84,7 @@
TestDOMJITBooleanAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -94,7 +94,7 @@
TestDOMJITByteAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -104,7 +104,7 @@
TestDOMJITOctetAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -114,7 +114,7 @@
TestDOMJITShortAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -124,7 +124,7 @@
TestDOMJITUnsignedShortAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -134,7 +134,7 @@
TestDOMJITLongAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -144,7 +144,7 @@
TestDOMJITUnsignedLongAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -154,7 +154,7 @@
TestDOMJITLongLongAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -164,7 +164,7 @@
TestDOMJITUnsignedLongLongAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -174,7 +174,7 @@
TestDOMJITFloatAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -184,7 +184,7 @@
TestDOMJITUnrestrictedFloatAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -194,7 +194,7 @@
TestDOMJITDoubleAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -204,7 +204,7 @@
TestDOMJITUnrestrictedDoubleAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -214,7 +214,7 @@
TestDOMJITDomStringAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -224,7 +224,7 @@
TestDOMJITByteStringAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -234,7 +234,7 @@
TestDOMJITUsvStringAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -244,7 +244,7 @@
TestDOMJITNodeAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -254,7 +254,7 @@
TestDOMJITBooleanNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -264,7 +264,7 @@
TestDOMJITByteNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -274,7 +274,7 @@
TestDOMJITOctetNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -284,7 +284,7 @@
TestDOMJITShortNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -294,7 +294,7 @@
TestDOMJITUnsignedShortNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -304,7 +304,7 @@
TestDOMJITLongNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -314,7 +314,7 @@
TestDOMJITUnsignedLongNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -324,7 +324,7 @@
TestDOMJITLongLongNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -334,7 +334,7 @@
TestDOMJITUnsignedLongLongNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -344,7 +344,7 @@
TestDOMJITFloatNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -354,7 +354,7 @@
TestDOMJITUnrestrictedFloatNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -364,7 +364,7 @@
TestDOMJITDoubleNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -374,7 +374,7 @@
TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -384,7 +384,7 @@
TestDOMJITDomStringNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -394,7 +394,7 @@
TestDOMJITByteStringNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -404,7 +404,7 @@
TestDOMJITUsvStringNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
@@ -414,7 +414,7 @@
TestDOMJITNodeNullableAttrDOMJIT();
#if ENABLE(JIT)
Ref<JSC::DOMJIT::Patchpoint> checkDOM() override;
- Ref<JSC::DOMJIT::CallDOMPatchpoint> callDOM() override;
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> callDOMGetter() override;
#endif
};
Modified: trunk/Source/WebCore/domjit/JSDocumentDOMJIT.cpp (208076 => 208077)
--- trunk/Source/WebCore/domjit/JSDocumentDOMJIT.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/WebCore/domjit/JSDocumentDOMJIT.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -46,10 +46,10 @@
return DOMJIT::checkDOM<Document>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> DocumentDocumentElementDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> DocumentDocumentElementDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- Ref<JSC::DOMJIT::CallDOMPatchpoint> patchpoint = JSC::DOMJIT::CallDOMPatchpoint::create();
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
patchpoint->numGPScratchRegisters = 1;
patchpoint->setGenerator([=](CCallHelpers& jit, JSC::DOMJIT::PatchpointParams& params) {
JSValueRegs result = params[0].jsValueRegs();
Modified: trunk/Source/WebCore/domjit/JSNodeDOMJIT.cpp (208076 => 208077)
--- trunk/Source/WebCore/domjit/JSNodeDOMJIT.cpp 2016-10-28 22:19:11 UTC (rev 208076)
+++ trunk/Source/WebCore/domjit/JSNodeDOMJIT.cpp 2016-10-28 22:57:10 UTC (rev 208077)
@@ -44,9 +44,9 @@
enum class IsContainerGuardRequirement { Required, NotRequired };
template<typename WrappedNode>
-static Ref<JSC::DOMJIT::CallDOMPatchpoint> createCallDOMForOffsetAccess(ptrdiff_t offset, IsContainerGuardRequirement isContainerGuardRequirement)
+static Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> createCallDOMGetterForOffsetAccess(ptrdiff_t offset, IsContainerGuardRequirement isContainerGuardRequirement)
{
- Ref<JSC::DOMJIT::CallDOMPatchpoint> patchpoint = JSC::DOMJIT::CallDOMPatchpoint::create();
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
patchpoint->numGPScratchRegisters = 1;
patchpoint->setGenerator([=](CCallHelpers& jit, JSC::DOMJIT::PatchpointParams& params) {
JSValueRegs result = params[0].jsValueRegs();
@@ -81,10 +81,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeFirstChildDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeFirstChildDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- auto patchpoint = createCallDOMForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::firstChildMemoryOffset(), IsContainerGuardRequirement::Required);
+ auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::firstChildMemoryOffset(), IsContainerGuardRequirement::Required);
patchpoint->effect = JSC::DOMJIT::Effect::forDef(heap.Node_firstChild);
return patchpoint;
}
@@ -94,10 +94,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeLastChildDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeLastChildDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- auto patchpoint = createCallDOMForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::lastChildMemoryOffset(), IsContainerGuardRequirement::Required);
+ auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(CAST_OFFSET(Node*, ContainerNode*) + ContainerNode::lastChildMemoryOffset(), IsContainerGuardRequirement::Required);
patchpoint->effect = JSC::DOMJIT::Effect::forDef(heap.Node_lastChild);
return patchpoint;
}
@@ -107,10 +107,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeNextSiblingDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNextSiblingDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- auto patchpoint = createCallDOMForOffsetAccess<Node>(Node::nextSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
+ auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::nextSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
patchpoint->effect = JSC::DOMJIT::Effect::forDef(heap.Node_nextSibling);
return patchpoint;
}
@@ -120,10 +120,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodePreviousSiblingDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodePreviousSiblingDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- auto patchpoint = createCallDOMForOffsetAccess<Node>(Node::previousSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
+ auto patchpoint = createCallDOMGetterForOffsetAccess<Node>(Node::previousSiblingMemoryOffset(), IsContainerGuardRequirement::NotRequired);
patchpoint->effect = JSC::DOMJIT::Effect::forDef(heap.Node_previousSibling);
return patchpoint;
}
@@ -133,10 +133,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeParentNodeDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeParentNodeDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- auto patchpoint = createCallDOMForOffsetAccess<ContainerNode>(Node::parentNodeMemoryOffset(), IsContainerGuardRequirement::NotRequired);
+ auto patchpoint = createCallDOMGetterForOffsetAccess<ContainerNode>(Node::parentNodeMemoryOffset(), IsContainerGuardRequirement::NotRequired);
patchpoint->effect = JSC::DOMJIT::Effect::forDef(heap.Node_parentNode);
return patchpoint;
}
@@ -146,9 +146,9 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeNodeTypeDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeNodeTypeDOMJIT::callDOMGetter()
{
- Ref<JSC::DOMJIT::CallDOMPatchpoint> patchpoint = JSC::DOMJIT::CallDOMPatchpoint::create();
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
patchpoint->effect = JSC::DOMJIT::Effect::forPure();
patchpoint->requireGlobalObject = false;
patchpoint->setGenerator([=](CCallHelpers& jit, JSC::DOMJIT::PatchpointParams& params) {
@@ -167,10 +167,10 @@
return DOMJIT::checkDOM<Node>();
}
-Ref<JSC::DOMJIT::CallDOMPatchpoint> NodeOwnerDocumentDOMJIT::callDOM()
+Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> NodeOwnerDocumentDOMJIT::callDOMGetter()
{
const auto& heap = DOMJIT::AbstractHeapRepository::shared();
- Ref<JSC::DOMJIT::CallDOMPatchpoint> patchpoint = JSC::DOMJIT::CallDOMPatchpoint::create();
+ Ref<JSC::DOMJIT::CallDOMGetterPatchpoint> patchpoint = JSC::DOMJIT::CallDOMGetterPatchpoint::create();
patchpoint->numGPScratchRegisters = 1;
patchpoint->setGenerator([=](CCallHelpers& jit, JSC::DOMJIT::PatchpointParams& params) {
JSValueRegs result = params[0].jsValueRegs();