| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 24046 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 24057 v8::ScriptCompiler::Source source(v8_str("42"), origin, cached_data); | 24057 v8::ScriptCompiler::Source source(v8_str("42"), origin, cached_data); |
| 24058 v8::Local<v8::Context> context = CcTest::isolate()->GetCurrentContext(); | 24058 v8::Local<v8::Context> context = CcTest::isolate()->GetCurrentContext(); |
| 24059 v8::Local<v8::Script> script = | 24059 v8::Local<v8::Script> script = |
| 24060 v8::ScriptCompiler::Compile(context, &source, option).ToLocalChecked(); | 24060 v8::ScriptCompiler::Compile(context, &source, option).ToLocalChecked(); |
| 24061 CHECK(cached_data->rejected); | 24061 CHECK(cached_data->rejected); |
| 24062 CHECK_EQ( | 24062 CHECK_EQ( |
| 24063 42, | 24063 42, |
| 24064 script->Run(context).ToLocalChecked()->Int32Value(context).FromJust()); | 24064 script->Run(context).ToLocalChecked()->Int32Value(context).FromJust()); |
| 24065 } | 24065 } |
| 24066 | 24066 |
| 24067 TEST(InvalidParserCacheData) { | 24067 |
| 24068 TEST(InvalidCacheData) { |
| 24068 v8::V8::Initialize(); | 24069 v8::V8::Initialize(); |
| 24069 v8::HandleScope scope(CcTest::isolate()); | 24070 v8::HandleScope scope(CcTest::isolate()); |
| 24070 LocalContext context; | 24071 LocalContext context; |
| 24071 if (i::FLAG_lazy && !(i::FLAG_ignition && i::FLAG_ignition_eager)) { | 24072 if (i::FLAG_lazy && !(i::FLAG_ignition && i::FLAG_ignition_eager)) { |
| 24072 // Cached parser data is not consumed while parsing eagerly. | 24073 // Cached parser data is not consumed while parsing eagerly. |
| 24073 TestInvalidCacheData(v8::ScriptCompiler::kConsumeParserCache); | 24074 TestInvalidCacheData(v8::ScriptCompiler::kConsumeParserCache); |
| 24074 } | 24075 } |
| 24075 } | |
| 24076 | |
| 24077 TEST(InvalidCodeCacheData) { | |
| 24078 v8::V8::Initialize(); | |
| 24079 v8::HandleScope scope(CcTest::isolate()); | |
| 24080 LocalContext context; | |
| 24081 TestInvalidCacheData(v8::ScriptCompiler::kConsumeCodeCache); | 24076 TestInvalidCacheData(v8::ScriptCompiler::kConsumeCodeCache); |
| 24082 } | 24077 } |
| 24083 | 24078 |
| 24084 | 24079 |
| 24085 TEST(ParserCacheRejectedGracefully) { | 24080 TEST(ParserCacheRejectedGracefully) { |
| 24086 // Producing cached parser data while parsing eagerly is not supported. | 24081 // Producing cached parser data while parsing eagerly is not supported. |
| 24087 if (!i::FLAG_lazy || (i::FLAG_ignition && i::FLAG_ignition_eager)) return; | 24082 if (!i::FLAG_lazy || (i::FLAG_ignition && i::FLAG_ignition_eager)) return; |
| 24088 | 24083 |
| 24089 i::FLAG_min_preparse_length = 0; | 24084 i::FLAG_min_preparse_length = 0; |
| 24090 v8::V8::Initialize(); | 24085 v8::V8::Initialize(); |
| (...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 24983 } | 24978 } |
| 24984 delete garbage; | 24979 delete garbage; |
| 24985 // Check that moderate memory pressure notification sets GC into memory | 24980 // Check that moderate memory pressure notification sets GC into memory |
| 24986 // optimizing mode. | 24981 // optimizing mode. |
| 24987 isolate->MemoryPressureNotification(v8::MemoryPressureLevel::kModerate); | 24982 isolate->MemoryPressureNotification(v8::MemoryPressureLevel::kModerate); |
| 24988 CHECK(CcTest::i_isolate()->heap()->ShouldOptimizeForMemoryUsage()); | 24983 CHECK(CcTest::i_isolate()->heap()->ShouldOptimizeForMemoryUsage()); |
| 24989 // Check that disabling memory pressure returns GC into normal mode. | 24984 // Check that disabling memory pressure returns GC into normal mode. |
| 24990 isolate->MemoryPressureNotification(v8::MemoryPressureLevel::kNone); | 24985 isolate->MemoryPressureNotification(v8::MemoryPressureLevel::kNone); |
| 24991 CHECK(!CcTest::i_isolate()->heap()->ShouldOptimizeForMemoryUsage()); | 24986 CHECK(!CcTest::i_isolate()->heap()->ShouldOptimizeForMemoryUsage()); |
| 24992 } | 24987 } |
| OLD | NEW |