/*
- * Copyright (C) 2011-2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
class VariableAccessData : public UnionFind<VariableAccessData> {
public:
VariableAccessData();
- VariableAccessData(VirtualRegister local, bool isCaptured);
+ VariableAccessData(VirtualRegister local);
VirtualRegister local()
{
return m_machineLocal;
}
- bool mergeIsCaptured(bool isCaptured);
-
- bool isCaptured()
- {
- return m_isCaptured;
- }
-
bool mergeIsProfitableToUnbox(bool isProfitableToUnbox)
{
- return checkAndSet(m_isProfitableToUnbox, m_isProfitableToUnbox | isProfitableToUnbox);
+ return checkAndSet(m_isProfitableToUnbox, m_isProfitableToUnbox || isProfitableToUnbox);
}
bool isProfitableToUnbox()
// mean that we have actually done so.
bool shouldNeverUnbox()
{
- ASSERT(!(m_isCaptured && !m_shouldNeverUnbox));
return m_shouldNeverUnbox;
}
bool mergeStructureCheckHoistingFailed(bool failed)
{
- return checkAndSet(m_structureCheckHoistingFailed, m_structureCheckHoistingFailed | failed);
+ return checkAndSet(m_structureCheckHoistingFailed, m_structureCheckHoistingFailed || failed);
}
bool mergeCheckArrayHoistingFailed(bool failed)
{
- return checkAndSet(m_checkArrayHoistingFailed, m_checkArrayHoistingFailed | failed);
+ return checkAndSet(m_checkArrayHoistingFailed, m_checkArrayHoistingFailed || failed);
}
bool structureCheckHoistingFailed()
return m_checkArrayHoistingFailed;
}
- bool mergeIsArgumentsAlias(bool isArgumentsAlias)
- {
- return checkAndSet(m_isArgumentsAlias, m_isArgumentsAlias | isArgumentsAlias);
- }
-
- bool isArgumentsAlias()
- {
- return m_isArgumentsAlias;
- }
-
bool mergeIsLoadedFrom(bool isLoadedFrom)
{
- return checkAndSet(m_isLoadedFrom, m_isLoadedFrom | isLoadedFrom);
+ return checkAndSet(m_isLoadedFrom, m_isLoadedFrom || isLoadedFrom);
}
void setIsLoadedFrom(bool isLoadedFrom)
ASSERT(isRoot());
bool doubleState = m_doubleFormatState == UsingDoubleFormat;
ASSERT(!(doubleState && shouldNeverUnbox()));
- ASSERT(!(doubleState && isCaptured()));
return doubleState && isProfitableToUnbox();
}
SpeculatedType m_argumentAwarePrediction;
NodeFlags m_flags;
- bool m_isCaptured;
bool m_shouldNeverUnbox;
- bool m_isArgumentsAlias;
bool m_structureCheckHoistingFailed;
bool m_checkArrayHoistingFailed;
bool m_isProfitableToUnbox;