Пример #1
0
ThreadInfo::ThreadInfo()
    : m_stacklimit(0), m_executing(Idling) {
  assert(!t_stackbase);
  t_stackbase = static_cast<char*>(stack_top_ptr());

  if (hhvm) {
    map<int, ObjectAllocatorBaseGetter> &wrappers =
      ObjectAllocatorCollector::getWrappers();
    m_allocators.resize(wrappers.rbegin()->first + 1);
    for (map<int, ObjectAllocatorBaseGetter>::iterator it = wrappers.begin();
         it != wrappers.end(); it++) {
      m_allocators[it->first] = it->second();
      assert(it->second() != NULL);
    }
  }
  m_mm = MemoryManager::TheMemoryManager();

  m_profiler = NULL;
  m_pendingException = false;
  m_coverage = new CodeCoverage();

  if (hhvm) {
    VM::Transl::TargetCache::threadInit();
  }
  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Пример #2
0
ThreadInfo::ThreadInfo() {
  assert(!t_stackbase);
  t_stackbase = static_cast<char*>(stack_top_ptr());

  m_mm = &MM();
  m_coverage = new CodeCoverage();
}
Пример #3
0
ThreadInfo::ThreadInfo()
    : m_stacklimit(0), m_executing(Idling) {
  assert(!t_stackbase);
  t_stackbase = static_cast<char*>(stack_top_ptr());

  m_mm = &MM();

  m_profiler = nullptr;
  m_pendingException = nullptr;
  m_coverage = new CodeCoverage();
  m_debugHookHandler = nullptr;
}
Пример #4
0
ThreadInfo::ThreadInfo()
    : m_stacklimit(0), m_executing(Idling) {
  assert(!t_stackbase);
  t_stackbase = static_cast<char*>(stack_top_ptr());

  m_mm = &MM();

  m_profiler = nullptr;
  m_pendingException = nullptr;
  m_coverage = new CodeCoverage();

  RDS::threadInit();
  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Пример #5
0
ThreadInfo::ThreadInfo()
    : m_stacklimit(0), m_executing(Idling) {
  assert(!t_stackbase);
  t_stackbase = static_cast<char*>(stack_top_ptr());

  m_mm = &MM();

  m_profiler = nullptr;
  m_pendingException = nullptr;
  m_coverage = new CodeCoverage();

  RDS::threadInit();
  onSessionInit();

  IniSetting::Bind(IniSetting::CORE, "max_execution_time",
                   ini_on_update_max_execution_time,
                   ini_get_max_execution_time);
  IniSetting::Bind(IniSetting::CORE, "maximum_execution_time",
                   ini_on_update_max_execution_time,
                   ini_get_max_execution_time);

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}