/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2014, 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
, m_prediction(SpecNone)
, m_argumentAwarePrediction(SpecNone)
, m_flags(0)
- , m_isCaptured(false)
, m_shouldNeverUnbox(false)
- , m_isArgumentsAlias(false)
, m_structureCheckHoistingFailed(false)
, m_checkArrayHoistingFailed(false)
, m_isProfitableToUnbox(false)
clearVotes();
}
-VariableAccessData::VariableAccessData(VirtualRegister local, bool isCaptured)
+VariableAccessData::VariableAccessData(VirtualRegister local)
: m_local(local)
, m_prediction(SpecNone)
, m_argumentAwarePrediction(SpecNone)
, m_flags(0)
- , m_isCaptured(isCaptured)
- , m_shouldNeverUnbox(isCaptured)
- , m_isArgumentsAlias(false)
+ , m_shouldNeverUnbox(false)
, m_structureCheckHoistingFailed(false)
, m_checkArrayHoistingFailed(false)
, m_isProfitableToUnbox(false)
clearVotes();
}
-bool VariableAccessData::mergeIsCaptured(bool isCaptured)
-{
- return checkAndSet(m_shouldNeverUnbox, m_shouldNeverUnbox | isCaptured)
- | checkAndSet(m_isCaptured, m_isCaptured | isCaptured);
-}
-
bool VariableAccessData::mergeShouldNeverUnbox(bool shouldNeverUnbox)
{
bool newShouldNeverUnbox = m_shouldNeverUnbox | shouldNeverUnbox;
{
ASSERT(find() == this);
- if (isArgumentsAlias())
- return FlushedArguments;
-
if (!shouldUnboxIfPossible())
return FlushedJSValue;