DFGPromotedHeapLocation.cpp [plain text]
#include "config.h"
#include "DFGPromotedHeapLocation.h"
#if ENABLE(DFG_JIT)
#include "DFGGraph.h"
#include "JSCInlines.h"
namespace JSC { namespace DFG {
void PromotedLocationDescriptor::dump(PrintStream& out) const
{
out.print(m_kind, "(", m_info, ")");
}
Node* PromotedHeapLocation::createHint(Graph& graph, NodeOrigin origin, Node* value)
{
return graph.addNode(
SpecNone, PutHint, origin, OpInfo(descriptor().imm1()), OpInfo(descriptor().imm2()),
base()->defaultEdge(), value->defaultEdge());
}
void PromotedHeapLocation::dump(PrintStream& out) const
{
out.print(kind(), "(", m_base, ", ", info(), ")");
}
} }
namespace WTF {
using namespace JSC::DFG;
void printInternal(PrintStream& out, PromotedLocationKind kind)
{
switch (kind) {
case InvalidPromotedLocationKind:
out.print("InvalidPromotedLocationKind");
return;
case StructurePLoc:
out.print("StructurePLoc");
return;
case ActivationSymbolTablePLoc:
out.print("ActivationSymbolTablePLoc");
return;
case NamedPropertyPLoc:
out.print("NamedPropertyPLoc");
return;
case ArgumentPLoc:
out.print("ArgumentPLoc");
return;
case ArgumentCountPLoc:
out.print("ArgumentCountPLoc");
return;
case ArgumentsCalleePLoc:
out.print("ArgumentsCalleePLoc");
return;
case FunctionExecutablePLoc:
out.print("FunctionExecutablePLoc");
return;
case FunctionActivationPLoc:
out.print("FunctionActivationPLoc");
return;
case ActivationScopePLoc:
out.print("ActivationScopePLoc");
return;
case ClosureVarPLoc:
out.print("ClosureVarPLoc");
return;
}
RELEASE_ASSERT_NOT_REACHED();
}
}
#endif // ENABLE(DFG_JIT)