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

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

Issue 1293283003: [heap,cctest] Get rid of protected-for-sake-of-testing scope. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add heap-tester.h to cctest.gyp Created 5 years, 4 months 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/test-alloc.cc ('k') | test/cctest/test-heap.cc » ('j') | 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 #include "src/base/smart-pointers.h" 43 #include "src/base/smart-pointers.h"
44 #include "src/compilation-cache.h" 44 #include "src/compilation-cache.h"
45 #include "src/debug/debug.h" 45 #include "src/debug/debug.h"
46 #include "src/execution.h" 46 #include "src/execution.h"
47 #include "src/futex-emulation.h" 47 #include "src/futex-emulation.h"
48 #include "src/objects.h" 48 #include "src/objects.h"
49 #include "src/parser.h" 49 #include "src/parser.h"
50 #include "src/unicode-inl.h" 50 #include "src/unicode-inl.h"
51 #include "src/utils.h" 51 #include "src/utils.h"
52 #include "src/vm-state.h" 52 #include "src/vm-state.h"
53 #include "test/cctest/heap-tester.h"
53 54
54 static const bool kLogThreading = false; 55 static const bool kLogThreading = false;
55 56
56 using ::v8::Boolean; 57 using ::v8::Boolean;
57 using ::v8::BooleanObject; 58 using ::v8::BooleanObject;
58 using ::v8::Context; 59 using ::v8::Context;
59 using ::v8::Extension; 60 using ::v8::Extension;
60 using ::v8::Function; 61 using ::v8::Function;
61 using ::v8::FunctionTemplate; 62 using ::v8::FunctionTemplate;
62 using ::v8::Handle; 63 using ::v8::Handle;
(...skipping 6616 matching lines...) Expand 10 before | Expand all | Expand 10 after
6679 6680
6680 static void ResetUseValueAndSetFlag( 6681 static void ResetUseValueAndSetFlag(
6681 const v8::WeakCallbackInfo<FlagAndPersistent>& data) { 6682 const v8::WeakCallbackInfo<FlagAndPersistent>& data) {
6682 // Blink will reset the handle, and then use the other handle, so they 6683 // Blink will reset the handle, and then use the other handle, so they
6683 // can't use the same backing slot. 6684 // can't use the same backing slot.
6684 data.GetParameter()->handle.Reset(); 6685 data.GetParameter()->handle.Reset();
6685 data.GetParameter()->flag = true; 6686 data.GetParameter()->flag = true;
6686 } 6687 }
6687 6688
6688 6689
6689 static void ResetWeakHandle(bool global_gc) { 6690 void v8::internal::HeapTester::ResetWeakHandle(bool global_gc) {
6691 using v8::Context;
6692 using v8::Local;
6693 using v8::Object;
6694
6690 v8::Isolate* iso = CcTest::isolate(); 6695 v8::Isolate* iso = CcTest::isolate();
6691 v8::HandleScope scope(iso); 6696 v8::HandleScope scope(iso);
6692 v8::Handle<Context> context = Context::New(iso); 6697 v8::Handle<Context> context = Context::New(iso);
6693 Context::Scope context_scope(context); 6698 Context::Scope context_scope(context);
6694 6699
6695 FlagAndPersistent object_a, object_b; 6700 FlagAndPersistent object_a, object_b;
6696 6701
6697 { 6702 {
6698 v8::HandleScope handle_scope(iso); 6703 v8::HandleScope handle_scope(iso);
6699 Local<Object> a(v8::Object::New(iso)); 6704 Local<Object> a(v8::Object::New(iso));
6700 Local<Object> b(v8::Object::New(iso)); 6705 Local<Object> b(v8::Object::New(iso));
6701 object_a.handle.Reset(iso, a); 6706 object_a.handle.Reset(iso, a);
6702 object_b.handle.Reset(iso, b); 6707 object_b.handle.Reset(iso, b);
6703 if (global_gc) { 6708 if (global_gc) {
6704 CcTest::heap()->CollectAllGarbage( 6709 CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
6705 TestHeap::Heap::kAbortIncrementalMarkingMask);
6706 } else { 6710 } else {
6707 CcTest::heap()->CollectGarbage(i::NEW_SPACE); 6711 CcTest::heap()->CollectGarbage(i::NEW_SPACE);
6708 } 6712 }
6709 } 6713 }
6710 6714
6711 object_a.flag = false; 6715 object_a.flag = false;
6712 object_b.flag = false; 6716 object_b.flag = false;
6713 object_a.handle.SetWeak(&object_a, &ResetUseValueAndSetFlag, 6717 object_a.handle.SetWeak(&object_a, &ResetUseValueAndSetFlag,
6714 v8::WeakCallbackType::kParameter); 6718 v8::WeakCallbackType::kParameter);
6715 object_b.handle.SetWeak(&object_b, &ResetUseValueAndSetFlag, 6719 object_b.handle.SetWeak(&object_b, &ResetUseValueAndSetFlag,
6716 v8::WeakCallbackType::kParameter); 6720 v8::WeakCallbackType::kParameter);
6717 if (!global_gc) { 6721 if (!global_gc) {
6718 object_a.handle.MarkIndependent(); 6722 object_a.handle.MarkIndependent();
6719 object_b.handle.MarkIndependent(); 6723 object_b.handle.MarkIndependent();
6720 CHECK(object_b.handle.IsIndependent()); 6724 CHECK(object_b.handle.IsIndependent());
6721 } 6725 }
6722 if (global_gc) { 6726 if (global_gc) {
6723 CcTest::heap()->CollectAllGarbage( 6727 CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
6724 TestHeap::Heap::kAbortIncrementalMarkingMask);
6725 } else { 6728 } else {
6726 CcTest::heap()->CollectGarbage(i::NEW_SPACE); 6729 CcTest::heap()->CollectGarbage(i::NEW_SPACE);
6727 } 6730 }
6728 CHECK(object_a.flag); 6731 CHECK(object_a.flag);
6729 CHECK(object_b.flag); 6732 CHECK(object_b.flag);
6730 } 6733 }
6731 6734
6732 6735
6733 THREADED_TEST(ResetWeakHandle) { 6736 THREADED_HEAP_TEST(ResetWeakHandle) {
6734 ResetWeakHandle(false); 6737 v8::internal::HeapTester::ResetWeakHandle(false);
6735 ResetWeakHandle(true); 6738 v8::internal::HeapTester::ResetWeakHandle(true);
6736 } 6739 }
6737 6740
6738 6741
6739 static void InvokeScavenge() { CcTest::heap()->CollectGarbage(i::NEW_SPACE); } 6742 static void InvokeScavenge() { CcTest::heap()->CollectGarbage(i::NEW_SPACE); }
6740 6743
6741 6744
6742 static void InvokeMarkSweep() { CcTest::heap()->CollectAllGarbage(); } 6745 static void InvokeMarkSweep() { CcTest::heap()->CollectAllGarbage(); }
6743 6746
6744 6747
6745 static void ForceScavenge2( 6748 static void ForceScavenge2(
(...skipping 15101 matching lines...) Expand 10 before | Expand all | Expand 10 after
21847 CHECK(try_catch.HasTerminated()); 21850 CHECK(try_catch.HasTerminated());
21848 } 21851 }
21849 21852
21850 21853
21851 TEST(EstimatedContextSize) { 21854 TEST(EstimatedContextSize) {
21852 v8::Isolate* isolate = CcTest::isolate(); 21855 v8::Isolate* isolate = CcTest::isolate();
21853 v8::HandleScope scope(isolate); 21856 v8::HandleScope scope(isolate);
21854 LocalContext env; 21857 LocalContext env;
21855 CHECK(50000 < env->EstimatedSize()); 21858 CHECK(50000 < env->EstimatedSize());
21856 } 21859 }
OLDNEW
« no previous file with comments | « test/cctest/test-alloc.cc ('k') | test/cctest/test-heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698