Chromium Code Reviews| Index: test/cctest/test-log.cc |
| diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc |
| index 9ca2f839631fe1c3a5b4fcb7f0df0693f5f306e9..40aeb355557a9f60cb27017b2c61728dcb1614e6 100644 |
| --- a/test/cctest/test-log.cc |
| +++ b/test/cctest/test-log.cc |
| @@ -531,3 +531,50 @@ TEST(LogVersion) { |
| } |
| isolate->Dispose(); |
| } |
| + |
| + |
| +// https://code.google.com/p/chromium/issues/detail?id=539892 |
|
Jakob Kummerow
2015/10/09 09:51:34
nit: just "crbug.com/539892", it's cleaner.
ofrobots
2015/10/09 16:53:56
Done.
|
| +// CodeCreateEvents with really large names should not crash. |
| +TEST(Issue539892) { |
| + SETUP_FLAGS(); |
| + bool saved_perf_basic_prof = i::FLAG_perf_basic_prof; |
| + i::FLAG_perf_basic_prof = true; |
| + |
| + v8::Isolate::CreateParams create_params; |
| + create_params.array_buffer_allocator = CcTest::array_buffer_allocator(); |
| + v8::Isolate* isolate = v8::Isolate::New(create_params); |
| + |
| + { |
| + ScopedLoggerInitializer initialize_logger(saved_log, saved_prof, isolate); |
| + Logger* logger = initialize_logger.logger(); |
| + |
| + // Function with a really large name. |
| + const char* source_text = |
| + "(function " |
| + "baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac" |
| + "(){})();"; |
| + |
| + CompileRun(source_text); |
| + |
| + // Must not crash. |
| + logger->LogCompiledFunctions(); |
| + } |
| + isolate->Dispose(); |
| + i::FLAG_perf_basic_prof = saved_perf_basic_prof; |
| +} |