Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(667)

Side by Side Diff: src/d8.cc

Issue 1028163003: Remove calls to IdleNotification() (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/v8.h ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 // Defined when linking against shared lib on Windows. 6 // Defined when linking against shared lib on Windows.
7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED) 7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED)
8 #define V8_SHARED 8 #define V8_SHARED
9 #endif 9 #endif
10 10
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 #ifndef DCHECK 65 #ifndef DCHECK
66 #define DCHECK(condition) assert(condition) 66 #define DCHECK(condition) assert(condition)
67 #endif 67 #endif
68 68
69 #ifndef CHECK 69 #ifndef CHECK
70 #define CHECK(condition) assert(condition) 70 #define CHECK(condition) assert(condition)
71 #endif 71 #endif
72 72
73 namespace v8 { 73 namespace v8 {
74 74
75 namespace {
76 v8::Platform* g_platform = NULL;
77 } // namespace
78
75 79
76 static Handle<Value> Throw(Isolate* isolate, const char* message) { 80 static Handle<Value> Throw(Isolate* isolate, const char* message) {
77 return isolate->ThrowException(String::NewFromUtf8(isolate, message)); 81 return isolate->ThrowException(String::NewFromUtf8(isolate, message));
78 } 82 }
79 83
80 84
81 85
82 class PerIsolateData { 86 class PerIsolateData {
83 public: 87 public:
84 explicit PerIsolateData(Isolate* isolate) : isolate_(isolate), realms_(NULL) { 88 explicit PerIsolateData(Isolate* isolate) : isolate_(isolate), realms_(NULL) {
(...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 HandleScope scope(isolate); 1286 HandleScope scope(isolate);
1283 PerIsolateData data(isolate); 1287 PerIsolateData data(isolate);
1284 Local<Context> context = Shell::CreateEvaluationContext(isolate); 1288 Local<Context> context = Shell::CreateEvaluationContext(isolate);
1285 { 1289 {
1286 Context::Scope cscope(context); 1290 Context::Scope cscope(context);
1287 PerIsolateData::RealmScope realm_scope(PerIsolateData::Get(isolate)); 1291 PerIsolateData::RealmScope realm_scope(PerIsolateData::Get(isolate));
1288 Execute(isolate); 1292 Execute(isolate);
1289 } 1293 }
1290 } 1294 }
1291 if (Shell::options.send_idle_notification) { 1295 if (Shell::options.send_idle_notification) {
1292 const int kLongIdlePauseInMs = 1000; 1296 const double kLongIdlePauseInSeconds = 1.0;
1293 isolate->ContextDisposedNotification(); 1297 isolate->ContextDisposedNotification();
1294 isolate->IdleNotification(kLongIdlePauseInMs); 1298 isolate->IdleNotificationDeadline(
1299 g_platform->MonotonicallyIncreasingTime() +
1300 kLongIdlePauseInSeconds);
1295 } 1301 }
1296 if (Shell::options.invoke_weak_callbacks) { 1302 if (Shell::options.invoke_weak_callbacks) {
1297 // By sending a low memory notifications, we will try hard to collect 1303 // By sending a low memory notifications, we will try hard to collect
1298 // all garbage and will therefore also invoke all weak callbacks of 1304 // all garbage and will therefore also invoke all weak callbacks of
1299 // actually unreachable persistent handles. 1305 // actually unreachable persistent handles.
1300 isolate->LowMemoryNotification(); 1306 isolate->LowMemoryNotification();
1301 } 1307 }
1302 } 1308 }
1303 done_semaphore_.Signal(); 1309 done_semaphore_.Signal();
1304 } while (!Shell::options.last_run); 1310 } while (!Shell::options.last_run);
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1480 } 1486 }
1481 #endif // !V8_SHARED 1487 #endif // !V8_SHARED
1482 } 1488 }
1483 { 1489 {
1484 Context::Scope cscope(context); 1490 Context::Scope cscope(context);
1485 PerIsolateData::RealmScope realm_scope(PerIsolateData::Get(isolate)); 1491 PerIsolateData::RealmScope realm_scope(PerIsolateData::Get(isolate));
1486 options.isolate_sources[0].Execute(isolate); 1492 options.isolate_sources[0].Execute(isolate);
1487 } 1493 }
1488 } 1494 }
1489 if (options.send_idle_notification) { 1495 if (options.send_idle_notification) {
1490 const int kLongIdlePauseInMs = 1000; 1496 const double kLongIdlePauseInSeconds = 1.0;
1491 isolate->ContextDisposedNotification(); 1497 isolate->ContextDisposedNotification();
1492 isolate->IdleNotification(kLongIdlePauseInMs); 1498 isolate->IdleNotificationDeadline(
1499 g_platform->MonotonicallyIncreasingTime() + kLongIdlePauseInSeconds);
1493 } 1500 }
1494 if (options.invoke_weak_callbacks) { 1501 if (options.invoke_weak_callbacks) {
1495 // By sending a low memory notifications, we will try hard to collect all 1502 // By sending a low memory notifications, we will try hard to collect all
1496 // garbage and will therefore also invoke all weak callbacks of actually 1503 // garbage and will therefore also invoke all weak callbacks of actually
1497 // unreachable persistent handles. 1504 // unreachable persistent handles.
1498 isolate->LowMemoryNotification(); 1505 isolate->LowMemoryNotification();
1499 } 1506 }
1500 1507
1501 #ifndef V8_SHARED 1508 #ifndef V8_SHARED
1502 for (int i = 1; i < options.num_isolates; ++i) { 1509 for (int i = 1; i < options.num_isolates; ++i) {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1594 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); 1601 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
1595 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); 1602 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
1596 _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); 1603 _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
1597 _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); 1604 _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
1598 _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); 1605 _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
1599 _set_error_mode(_OUT_TO_STDERR); 1606 _set_error_mode(_OUT_TO_STDERR);
1600 #endif // defined(_MSC_VER) 1607 #endif // defined(_MSC_VER)
1601 #endif // defined(_WIN32) || defined(_WIN64) 1608 #endif // defined(_WIN32) || defined(_WIN64)
1602 if (!SetOptions(argc, argv)) return 1; 1609 if (!SetOptions(argc, argv)) return 1;
1603 v8::V8::InitializeICU(options.icu_data_file); 1610 v8::V8::InitializeICU(options.icu_data_file);
1604 v8::Platform* platform = v8::platform::CreateDefaultPlatform(); 1611 g_platform = v8::platform::CreateDefaultPlatform();
1605 v8::V8::InitializePlatform(platform); 1612 v8::V8::InitializePlatform(g_platform);
1606 v8::V8::Initialize(); 1613 v8::V8::Initialize();
1607 #ifdef V8_USE_EXTERNAL_STARTUP_DATA 1614 #ifdef V8_USE_EXTERNAL_STARTUP_DATA
1608 v8::StartupDataHandler startup_data(argv[0], options.natives_blob, 1615 v8::StartupDataHandler startup_data(argv[0], options.natives_blob,
1609 options.snapshot_blob); 1616 options.snapshot_blob);
1610 #endif 1617 #endif
1611 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg"); 1618 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg");
1612 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg"); 1619 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg");
1613 SetFlagsFromString("--redirect-code-traces-to=code.asm"); 1620 SetFlagsFromString("--redirect-code-traces-to=code.asm");
1614 ShellArrayBufferAllocator array_buffer_allocator; 1621 ShellArrayBufferAllocator array_buffer_allocator;
1615 MockArrayBufferAllocator mock_arraybuffer_allocator; 1622 MockArrayBufferAllocator mock_arraybuffer_allocator;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1698 // Dump basic block profiling data. 1705 // Dump basic block profiling data.
1699 if (i::BasicBlockProfiler* profiler = 1706 if (i::BasicBlockProfiler* profiler =
1700 reinterpret_cast<i::Isolate*>(isolate)->basic_block_profiler()) { 1707 reinterpret_cast<i::Isolate*>(isolate)->basic_block_profiler()) {
1701 i::OFStream os(stdout); 1708 i::OFStream os(stdout);
1702 os << *profiler; 1709 os << *profiler;
1703 } 1710 }
1704 #endif // !V8_SHARED 1711 #endif // !V8_SHARED
1705 isolate->Dispose(); 1712 isolate->Dispose();
1706 V8::Dispose(); 1713 V8::Dispose();
1707 V8::ShutdownPlatform(); 1714 V8::ShutdownPlatform();
1708 delete platform; 1715 delete g_platform;
1709 1716
1710 return result; 1717 return result;
1711 } 1718 }
1712 1719
1713 } // namespace v8 1720 } // namespace v8
1714 1721
1715 1722
1716 #ifndef GOOGLE3 1723 #ifndef GOOGLE3
1717 int main(int argc, char* argv[]) { 1724 int main(int argc, char* argv[]) {
1718 return v8::Shell::Main(argc, argv); 1725 return v8::Shell::Main(argc, argv);
1719 } 1726 }
1720 #endif 1727 #endif
OLDNEW
« no previous file with comments | « include/v8.h ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698