Reviewers: Sven Panne,
Description:
Turn off --logfile-per-isolate by default in d8.
[email protected]
Please review this at https://codereview.chromium.org/276333002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+18, -21 lines):
M src/d8.cc
Index: src/d8.cc
diff --git a/src/d8.cc b/src/d8.cc
index
48e34aaf16c53193117d66a8b6539488755caf4f..ce8bc6bd45a383b604cc195acada97d2fdc8273a
100644
--- a/src/d8.cc
+++ b/src/d8.cc
@@ -1352,8 +1352,16 @@ void SourceGroup::WaitForThread() {
#endif // !V8_SHARED
+void SetFlagsFromString(const char* flags) {
+ v8::V8::SetFlagsFromString(flags, strlen(flags));
+}
+
+
bool Shell::SetOptions(int argc, char* argv[]) {
+ bool logfile_per_isolate = false;
for (int i = 0; i < argc; i++) {
+ // Turn '_' into '-'.
+ // for (char* c = arg; *c != '\0'; c++) if (*c == '_') *c = '-';
if (strcmp(argv[i], "--stress-opt") == 0) {
options.stress_opt = true;
argv[i] = NULL;
@@ -1370,6 +1378,9 @@ bool Shell::SetOptions(int argc, char* argv[]) {
// No support for stressing if we can't use --always-opt.
options.stress_opt = false;
options.stress_deopt = false;
+ } else if (strcmp(argv[i], "--logfile-per-isolate") == 0) {
+ logfile_per_isolate = true;
+ argv[i] = NULL;
} else if (strcmp(argv[i], "--shell") == 0) {
options.interactive_shell = true;
argv[i] = NULL;
@@ -1429,6 +1440,7 @@ bool Shell::SetOptions(int argc, char* argv[]) {
for (int i = 1; i < argc; i++) {
if (argv[i] == NULL) continue;
if (strcmp(argv[i], "-p") == 0 && i + 1 < argc) {
+ CHECK(false);
if (options.num_isolates > 1) {
printf("-p is not compatible with --isolate\n");
return false;
@@ -1464,6 +1476,10 @@ bool Shell::SetOptions(int argc, char* argv[]) {
}
current->End(argc);
+ if (!logfile_per_isolate && options.num_isolates) {
+ SetFlagsFromString("--nologfile_per_isolate");
+ }
+
return true;
}
@@ -1537,21 +1553,6 @@ int Shell::RunMain(Isolate* isolate, int argc, char*
argv[]) {
}
-#ifdef V8_SHARED
-static void SetStandaloneFlagsViaCommandLine() {
- int fake_argc = 3;
- char **fake_argv = new char*[3];
- fake_argv[0] = NULL;
- fake_argv[1] = strdup("--trace-hydrogen-file=hydrogen.cfg");
- fake_argv[2] = strdup("--redirect-code-traces-to=code.asm");
- v8::V8::SetFlagsFromCommandLine(&fake_argc, fake_argv, false);
- free(fake_argv[1]);
- free(fake_argv[2]);
- delete[] fake_argv;
-}
-#endif
-
-
#ifndef V8_SHARED
static void DumpHeapConstants(i::Isolate* isolate) {
i::Heap* heap = isolate->heap();
@@ -1635,12 +1636,8 @@ class MockArrayBufferAllocator : public
v8::ArrayBuffer::Allocator {
int Shell::Main(int argc, char* argv[]) {
if (!SetOptions(argc, argv)) return 1;
v8::V8::InitializeICU(options.icu_data_file);
-#ifndef V8_SHARED
- i::FLAG_trace_hydrogen_file = "hydrogen.cfg";
- i::FLAG_redirect_code_traces_to = "code.asm";
-#else
- SetStandaloneFlagsViaCommandLine();
-#endif
+ SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg");
+ SetFlagsFromString("--redirect-code-traces-to=code.asm");
ShellArrayBufferAllocator array_buffer_allocator;
MockArrayBufferAllocator mock_arraybuffer_allocator;
if (options.mock_arraybuffer_allocator) {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.