ProxyableAccessCase.cpp [plain text]
#include "config.h"
#include "ProxyableAccessCase.h"
#if ENABLE(JIT)
namespace JSC {
ProxyableAccessCase::ProxyableAccessCase(VM& vm, JSCell* owner, AccessType accessType, PropertyOffset offset, Structure* structure, const ObjectPropertyConditionSet& conditionSet, bool viaProxy, WatchpointSet* additionalSet)
: Base(vm, owner, accessType, offset, structure, conditionSet)
, m_viaProxy(viaProxy)
, m_additionalSet(additionalSet)
{
}
std::unique_ptr<AccessCase> ProxyableAccessCase::create(VM& vm, JSCell* owner, AccessType type, PropertyOffset offset, Structure* structure, const ObjectPropertyConditionSet& conditionSet, bool viaProxy, WatchpointSet* additionalSet)
{
ASSERT(type == Load || type == Miss || type == GetGetter);
return std::unique_ptr<AccessCase>(new ProxyableAccessCase(vm, owner, type, offset, structure, conditionSet, viaProxy, additionalSet));
}
ProxyableAccessCase::~ProxyableAccessCase()
{
}
std::unique_ptr<AccessCase> ProxyableAccessCase::clone() const
{
std::unique_ptr<ProxyableAccessCase> result(new ProxyableAccessCase(*this));
result->resetState();
return WTFMove(result);
}
void ProxyableAccessCase::dumpImpl(PrintStream& out, CommaPrinter& comma) const
{
Base::dumpImpl(out, comma);
out.print(comma, "viaProxy = ", viaProxy());
out.print(comma, "additionalSet = ", RawPointer(additionalSet()));
}
}
#endif // ENABLE(JIT)