OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 348 matching lines...) Loading... |
359 V8PerIsolateData::enableIdleTasks(isolate, adoptPtr(new V8IdleTaskRunner
(scheduler))); | 359 V8PerIsolateData::enableIdleTasks(isolate, adoptPtr(new V8IdleTaskRunner
(scheduler))); |
360 } | 360 } |
361 | 361 |
362 isolate->SetPromiseRejectCallback(promiseRejectHandlerInMainThread); | 362 isolate->SetPromiseRejectCallback(promiseRejectHandlerInMainThread); |
363 | 363 |
364 if (v8::HeapProfiler* profiler = isolate->GetHeapProfiler()) | 364 if (v8::HeapProfiler* profiler = isolate->GetHeapProfiler()) |
365 profiler->SetWrapperClassInfoProvider(WrapperTypeInfo::NodeClassId, &Ret
ainedDOMInfo::createRetainedDOMInfo); | 365 profiler->SetWrapperClassInfoProvider(WrapperTypeInfo::NodeClassId, &Ret
ainedDOMInfo::createRetainedDOMInfo); |
366 | 366 |
367 ASSERT(ThreadState::mainThreadState()); | 367 ASSERT(ThreadState::mainThreadState()); |
368 ThreadState::mainThreadState()->addInterruptor(adoptPtr(new V8IsolateInterru
ptor(isolate))); | 368 ThreadState::mainThreadState()->addInterruptor(adoptPtr(new V8IsolateInterru
ptor(isolate))); |
369 ThreadState::mainThreadState()->registerTraceDOMWrappers(isolate, V8GCContro
ller::traceDOMWrappers); | 369 if (RuntimeEnabledFeatures::traceWrappablesEnabled()) { |
| 370 ThreadState::mainThreadState()->registerTraceDOMWrappers(isolate, |
| 371 V8GCController::traceDOMWrappers, |
| 372 ScriptWrappableVisitor::cleanTraceWrappersMarkingDeque); |
| 373 } else { |
| 374 ThreadState::mainThreadState()->registerTraceDOMWrappers(isolate, |
| 375 V8GCController::traceDOMWrappers, |
| 376 nullptr); |
| 377 } |
370 | 378 |
371 V8PerIsolateData::from(isolate)->setThreadDebugger(adoptPtr(new MainThreadDe
bugger(isolate))); | 379 V8PerIsolateData::from(isolate)->setThreadDebugger(adoptPtr(new MainThreadDe
bugger(isolate))); |
372 } | 380 } |
373 | 381 |
374 void V8Initializer::shutdownMainThread() | 382 void V8Initializer::shutdownMainThread() |
375 { | 383 { |
376 ASSERT(isMainThread()); | 384 ASSERT(isMainThread()); |
377 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); | 385 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); |
378 V8PerIsolateData::willBeDestroyed(isolate); | 386 V8PerIsolateData::willBeDestroyed(isolate); |
379 V8PerIsolateData::destroy(isolate); | 387 V8PerIsolateData::destroy(isolate); |
(...skipping 50 matching lines...) Loading... |
430 | 438 |
431 isolate->AddMessageListener(messageHandlerInWorker); | 439 isolate->AddMessageListener(messageHandlerInWorker); |
432 isolate->SetFatalErrorHandler(reportFatalErrorInWorker); | 440 isolate->SetFatalErrorHandler(reportFatalErrorInWorker); |
433 | 441 |
434 uint32_t here; | 442 uint32_t here; |
435 isolate->SetStackLimit(reinterpret_cast<uintptr_t>(&here - kWorkerMaxStackSi
ze / sizeof(uint32_t*))); | 443 isolate->SetStackLimit(reinterpret_cast<uintptr_t>(&here - kWorkerMaxStackSi
ze / sizeof(uint32_t*))); |
436 isolate->SetPromiseRejectCallback(promiseRejectHandlerInWorker); | 444 isolate->SetPromiseRejectCallback(promiseRejectHandlerInWorker); |
437 } | 445 } |
438 | 446 |
439 } // namespace blink | 447 } // namespace blink |
OLD | NEW |