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

Side by Side Diff: test/cctest/test-heap.cc

Issue 1414483004: Add the rate of js invocations from the api as a signal of idleness (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comments from Hannes Created 5 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 unified diff | Download patch
« no previous file with comments | « test/cctest/heap-tester.h ('k') | no next file » | 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 // 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 17 matching lines...) Expand all
28 #include <stdlib.h> 28 #include <stdlib.h>
29 #include <utility> 29 #include <utility>
30 30
31 #include "src/compilation-cache.h" 31 #include "src/compilation-cache.h"
32 #include "src/context-measure.h" 32 #include "src/context-measure.h"
33 #include "src/deoptimizer.h" 33 #include "src/deoptimizer.h"
34 #include "src/execution.h" 34 #include "src/execution.h"
35 #include "src/factory.h" 35 #include "src/factory.h"
36 #include "src/global-handles.h" 36 #include "src/global-handles.h"
37 #include "src/heap/gc-tracer.h" 37 #include "src/heap/gc-tracer.h"
38 #include "src/heap/memory-reducer.h"
38 #include "src/ic/ic.h" 39 #include "src/ic/ic.h"
39 #include "src/macro-assembler.h" 40 #include "src/macro-assembler.h"
40 #include "src/snapshot/snapshot.h" 41 #include "src/snapshot/snapshot.h"
41 #include "test/cctest/cctest.h" 42 #include "test/cctest/cctest.h"
42 #include "test/cctest/heap-tester.h" 43 #include "test/cctest/heap-tester.h"
43 #include "test/cctest/test-feedback-vector.h" 44 #include "test/cctest/test-feedback-vector.h"
44 45
45 using v8::Just; 46 using v8::Just;
46 47
47 namespace v8 { 48 namespace v8 {
(...skipping 6219 matching lines...) Expand 10 before | Expand all | Expand 10 after
6267 isolate->SetReferenceFromGroup(id, child); 6268 isolate->SetReferenceFromGroup(id, child);
6268 } 6269 }
6269 // The CollectGarbage call above starts sweeper threads. 6270 // The CollectGarbage call above starts sweeper threads.
6270 // The crash will happen if the following two functions 6271 // The crash will happen if the following two functions
6271 // are called before sweeping finishes. 6272 // are called before sweeping finishes.
6272 heap->StartIncrementalMarking(); 6273 heap->StartIncrementalMarking();
6273 heap->FinalizeIncrementalMarkingIfComplete("test"); 6274 heap->FinalizeIncrementalMarkingIfComplete("test");
6274 } 6275 }
6275 6276
6276 6277
6278 HEAP_TEST(TestMemoryReducerSampleJsCalls) {
6279 CcTest::InitializeVM();
6280 v8::HandleScope scope(CcTest::isolate());
6281 Heap* heap = CcTest::heap();
6282 Isolate* isolate = CcTest::i_isolate();
6283 MemoryReducer* memory_reducer = heap->memory_reducer_;
6284 memory_reducer->SampleAndGetJsCallsPerMs(0);
6285 isolate->IncrementJsCallsFromApiCounter();
6286 isolate->IncrementJsCallsFromApiCounter();
6287 isolate->IncrementJsCallsFromApiCounter();
6288 double calls_per_ms = memory_reducer->SampleAndGetJsCallsPerMs(1);
6289 CheckDoubleEquals(3, calls_per_ms);
6290
6291 calls_per_ms = memory_reducer->SampleAndGetJsCallsPerMs(2);
6292 CheckDoubleEquals(0, calls_per_ms);
6293
6294 isolate->IncrementJsCallsFromApiCounter();
6295 isolate->IncrementJsCallsFromApiCounter();
6296 isolate->IncrementJsCallsFromApiCounter();
6297 isolate->IncrementJsCallsFromApiCounter();
6298 calls_per_ms = memory_reducer->SampleAndGetJsCallsPerMs(4);
6299 CheckDoubleEquals(2, calls_per_ms);
6300 }
6301
6302
6277 } // namespace internal 6303 } // namespace internal
6278 } // namespace v8 6304 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/heap-tester.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698