コード例 #1
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
ssize_t RequestInjectionData::fetchAndClearFlags() {
  ssize_t flags;
  for (;;) {
    flags = atomic_acquire_load(getConditionFlags());
    const ssize_t newFlags =
      hhvm ? (flags & RequestInjectionData::EventHookFlag) : 0;
    if (__sync_bool_compare_and_swap(getConditionFlags(), flags, newFlags)) {
      break;
    }
  }
  return flags;
}
コード例 #2
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::reset() {
  __sync_fetch_and_and(getConditionFlags(), 0);
  coverage = RuntimeOption::RecordCodeCoverage;
  debugger = false;
  debuggerIntr = false;
  while (!interrupts.empty()) interrupts.pop();
}
コード例 #3
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::reset() {
  getConditionFlags()->store(0);
  m_coverage = RuntimeOption::RecordCodeCoverage;
  m_debugger = false;
  m_debuggerIntr = false;
  updateJit();
  while (!interrupts.empty()) interrupts.pop();
}
コード例 #4
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
void RequestInjectionData::setInterceptFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::InterceptFlag);
}
コード例 #5
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
void RequestInjectionData::clearPendingExceptionFlag() {
  __sync_fetch_and_and(getConditionFlags(),
                       ~RequestInjectionData::PendingExceptionFlag);
}
コード例 #6
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
void RequestInjectionData::setPendingExceptionFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::PendingExceptionFlag);
}
コード例 #7
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setTimedOutFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::TimedOutFlag);
}
コード例 #8
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::clearEventHookFlag() {
  __sync_fetch_and_and(getConditionFlags(),
                       ~RequestInjectionData::EventHookFlag);
}
コード例 #9
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::clearPendingExceptionFlag() {
  getConditionFlags()->fetch_and(~RequestInjectionData::PendingExceptionFlag);
}
コード例 #10
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
ssize_t RequestInjectionData::fetchAndClearFlags() {
  return __sync_fetch_and_and(getConditionFlags(),
                              (RequestInjectionData::EventHookFlag |
                               RequestInjectionData::InterceptFlag));
}
コード例 #11
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::clearEventHookFlag() {
  getConditionFlags()->fetch_and(~RequestInjectionData::EventHookFlag);
}
コード例 #12
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setPendingExceptionFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::PendingExceptionFlag);
}
コード例 #13
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setEventHookFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::EventHookFlag);
}
コード例 #14
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setSignaledFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::SignaledFlag);
}
コード例 #15
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::clearTimedOutFlag() {
  getConditionFlags()->fetch_and(~RequestInjectionData::TimedOutFlag);
}
コード例 #16
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
void RequestInjectionData::clearInterceptFlag() {
  __sync_fetch_and_and(getConditionFlags(),
                       ~RequestInjectionData::InterceptFlag);
}
コード例 #17
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::setMemExceededFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::MemExceededFlag);
}
コード例 #18
0
ファイル: thread_info.cpp プロジェクト: TingoZhou/hiphop-php
void RequestInjectionData::setDebuggerSignalFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::DebuggerSignalFlag);
}
コード例 #19
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::setSignaledFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::SignaledFlag);
}
コード例 #20
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setInterceptFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::InterceptFlag);
}
コード例 #21
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setMemExceededFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::MemExceededFlag);
}
コード例 #22
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::setTimedOutFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::TimedOutFlag);
}
コード例 #23
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::clearInterceptFlag() {
  getConditionFlags()->fetch_and(~RequestInjectionData::InterceptFlag);
}
コード例 #24
0
ファイル: thread_info.cpp プロジェクト: BauerBox/hiphop-php
void RequestInjectionData::setEventHookFlag() {
  __sync_fetch_and_or(getConditionFlags(),
                      RequestInjectionData::EventHookFlag);
}
コード例 #25
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
void RequestInjectionData::setDebuggerSignalFlag() {
  getConditionFlags()->fetch_or(RequestInjectionData::DebuggerSignalFlag);
}
コード例 #26
0
ファイル: thread-info.cpp プロジェクト: Attnaorg/hhvm
ssize_t RequestInjectionData::fetchAndClearFlags() {
  return getConditionFlags()->fetch_and(RequestInjectionData::EventHookFlag |
                                        RequestInjectionData::InterceptFlag);
}
コード例 #27
0
void RequestInjectionData::clearTimedOutFlag() {
  __sync_fetch_and_and(getConditionFlags(),
                       ~RequestInjectionData::TimedOutFlag);
}