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

Unified Diff: test/cctest/heap/test-heap.cc

Issue 2481433002: [Interpreter] Add IsInterpreted() to JSFunction and use to fix test-heap tests. (Closed)
Patch Set: Rebase Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/cctest.status ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/heap/test-heap.cc
diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
index e8b8209c0ce432c9d2c2cdfc5aaa913f16f0d257..6a4d526f2b85c497b4c03d246445ca11cad8f889 100644
--- a/test/cctest/heap/test-heap.cc
+++ b/test/cctest/heap/test-heap.cc
@@ -1279,8 +1279,10 @@ UNINITIALIZED_TEST(TestCodeFlushing) {
}
// foo should no longer be in the compilation cache
- CHECK(!function->shared()->is_compiled() || function->IsOptimized());
- CHECK(!function->is_compiled() || function->IsOptimized());
+ CHECK(!function->shared()->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
+ CHECK(!function->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
// Call foo to get it recompiled.
CompileRun("foo()");
CHECK(function->shared()->is_compiled());
@@ -1327,7 +1329,8 @@ TEST(TestCodeFlushingPreAged) {
// The code was only run once, so it should be pre-aged and collected on the
// next GC.
CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask);
- CHECK(!function->shared()->is_compiled() || function->IsOptimized());
+ CHECK(!function->shared()->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
// Execute the function again twice, and ensure it is reset to the young age.
{ v8::HandleScope scope(CcTest::isolate());
@@ -1347,8 +1350,10 @@ TEST(TestCodeFlushingPreAged) {
}
// foo should no longer be in the compilation cache
- CHECK(!function->shared()->is_compiled() || function->IsOptimized());
- CHECK(!function->is_compiled() || function->IsOptimized());
+ CHECK(!function->shared()->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
+ CHECK(!function->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
// Call foo to get it recompiled.
CompileRun("foo()");
CHECK(function->shared()->is_compiled());
@@ -1396,8 +1401,10 @@ TEST(TestCodeFlushingIncremental) {
heap::SimulateIncrementalMarking(CcTest::heap());
CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask);
}
- CHECK(!function->shared()->is_compiled() || function->IsOptimized());
- CHECK(!function->is_compiled() || function->IsOptimized());
+ CHECK(!function->shared()->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
+ CHECK(!function->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
// This compile will compile the function again.
{ v8::HandleScope scope(CcTest::isolate());
@@ -1490,8 +1497,10 @@ TEST(TestCodeFlushingIncrementalScavenge) {
// Simulate one final GC to make sure the candidate queue is sane.
CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask);
- CHECK(!function->shared()->is_compiled() || function->IsOptimized());
- CHECK(!function->is_compiled() || function->IsOptimized());
+ CHECK(!function->shared()->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
+ CHECK(!function->is_compiled() || function->IsOptimized() ||
+ function->IsInterpreted());
}
@@ -1606,6 +1615,7 @@ TEST(TestUseOfIncrementalBarrierOnCompileLazy) {
TEST(CompilationCacheCachingBehavior) {
// If we do not flush code, or have the compilation cache turned off, this
// test is invalid.
+ i::FLAG_allow_natives_syntax = true;
if (!FLAG_flush_code || !FLAG_compilation_cache) {
return;
}
@@ -1622,7 +1632,7 @@ TEST(CompilationCacheCachingBehavior) {
" var y = 42;"
" var z = x + y;"
"};"
- "foo()";
+ "foo();";
Handle<String> source = factory->InternalizeUtf8String(raw_source);
Handle<Context> native_context = isolate->native_context();
@@ -4078,6 +4088,7 @@ TEST(Regress165495) {
TEST(Regress169209) {
+ i::FLAG_always_opt = false;
i::FLAG_stress_compaction = false;
i::FLAG_allow_natives_syntax = true;
@@ -4095,11 +4106,15 @@ TEST(Regress169209) {
{
HandleScope inner_scope(isolate);
LocalContext env;
- CompileRun("function f() { return 'foobar'; }"
- "function g(x) { if (x) f(); }"
- "f();"
- "g(false);"
- "g(false);");
+ CompileRun(
+ "function f() { return 'foobar'; }"
+ "function g(x) { if (x) f(); }"
+ "f();"
+ "%BaselineFunctionOnNextCall(f);"
+ "f();"
+ "g(false);"
+ "%BaselineFunctionOnNextCall(g);"
+ "g(false);");
Handle<JSFunction> f = Handle<JSFunction>::cast(
v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast(
@@ -4119,8 +4134,11 @@ TEST(Regress169209) {
{
HandleScope inner_scope(isolate);
LocalContext env;
- CompileRun("function flushMe() { return 0; }"
- "flushMe(1);");
+ CompileRun(
+ "function flushMe() { return 0; }"
+ "flushMe(1);"
+ "%BaselineFunctionOnNextCall(flushMe);"
+ "flushMe(1);");
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
*v8::Local<v8::Function>::Cast(CcTest::global()
« no previous file with comments | « test/cctest/cctest.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698