Exemple #1
0
ThreadInfo::ThreadInfo() : m_executing(Idling) {
  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();
  }

  m_mm = MemoryManager::TheMemoryManager().get();

  m_profiler = NULL;
  m_pendingException = false;

  // get the default thread stack size once
  pthread_attr_t info;
  pthread_attr_init(&info);
  pthread_attr_getstacksize(&info, &m_stacksize);
  pthread_attr_destroy(&info);

  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Exemple #2
0
void ThreadInfo::init() {
  m_reqInjectionData.threadInit();
  rds::threadInit();
  onSessionInit();
  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Exemple #3
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);
}
Exemple #4
0
void ThreadInfo::init() {
  m_reqInjectionData.threadInit();
  RDS::threadInit();
  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
  Sweepable::InitSweepableList();
}
Exemple #5
0
void ThreadInfo::init() {
  m_reqInjectionData.threadInit();
  rds::threadInit();
  onSessionInit();
  // TODO(20427335): Get rid of the illogical onSessionInit() call above.
  m_isOnSession = false;
  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
ThreadInfo::ThreadInfo() : m_executing(Idling) {
  m_mm = MemoryManager::TheMemoryManager().getNoCheck();

  m_profiler = NULL;
  m_pendingException = false;

  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Exemple #7
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);
}
ThreadInfo::ThreadInfo() : m_executing(Idling) {
  m_mm = MemoryManager::TheMemoryManager().getNoCheck();

  m_profiler = NULL;
  m_pendingException = false;

  // get the default thread stack size once
  pthread_attr_t info;
  pthread_attr_init(&info);
  pthread_attr_getstacksize(&info, &m_stacksize);
  pthread_attr_destroy(&info);

  onSessionInit();

  Lock lock(s_thread_info_mutex);
  s_thread_infos.insert(this);
}
Exemple #9
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);
}