Esempio n. 1
0
/*
 * Save current state for block.  If this is the first time saving state
 * for block, create a new snapshot.  Otherwise merge the current state into
 * the existing snapshot.
 */
void TraceBuilder::saveState(Block* block) {
  if (State* state = m_snapshots[block]) {
    mergeState(state);
  } else {
    m_snapshots[block] = createState().release();
  }
}
Esempio n. 2
0
/*
 * Save current state for block.  If this is the first time saving state
 * for block, create a new snapshot.  Otherwise merge the current state into
 * the existing snapshot.
 */
void TraceBuilder::saveState(Block* block) {
  if (State* state = m_snapshots[block]) {
    mergeState(state);

    // reset caller's available values for all inlined frames
    for (auto& state : m_inlineSavedStates) {
      state->callerAvailableValues.clear();
    }
  } else {
    m_snapshots[block] = createState().release();
  }
}
Esempio n. 3
0
void ClientState::putProjectPersistent(
                              const json::Object& projectPersistentState)
{
   mergeState(projectPersistentState, &projectPersistentState_);
}
Esempio n. 4
0
void ClientState::putTemporary(const json::Object& temporaryState)
{
   mergeState(temporaryState, &temporaryState_);
}