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

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

Issue 11085070: Enable --verify-heap in release mode (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: After rebase plus one new issue fix Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 2
3 #include <stdlib.h> 3 #include <stdlib.h>
4 4
5 #include "v8.h" 5 #include "v8.h"
6 6
7 #include "compilation-cache.h" 7 #include "compilation-cache.h"
8 #include "execution.h" 8 #include "execution.h"
9 #include "factory.h" 9 #include "factory.h"
10 #include "macro-assembler.h" 10 #include "macro-assembler.h"
(...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after
1513 HEAP->CollectAllAvailableGarbage(); 1513 HEAP->CollectAllAvailableGarbage();
1514 CHECK_EQ(2, NumberOfGlobalObjects()); 1514 CHECK_EQ(2, NumberOfGlobalObjects());
1515 ctx2.Dispose(); 1515 ctx2.Dispose();
1516 HEAP->CollectAllAvailableGarbage(); 1516 HEAP->CollectAllAvailableGarbage();
1517 CHECK_EQ(0, NumberOfGlobalObjects()); 1517 CHECK_EQ(0, NumberOfGlobalObjects());
1518 } 1518 }
1519 1519
1520 1520
1521 TEST(InstanceOfStubWriteBarrier) { 1521 TEST(InstanceOfStubWriteBarrier) {
1522 i::FLAG_allow_natives_syntax = true; 1522 i::FLAG_allow_natives_syntax = true;
1523 #ifdef DEBUG
1524 i::FLAG_verify_heap = true; 1523 i::FLAG_verify_heap = true;
1525 #endif 1524
1526 InitializeVM(); 1525 InitializeVM();
1527 if (!i::V8::UseCrankshaft()) return; 1526 if (!i::V8::UseCrankshaft()) return;
1528 v8::HandleScope outer_scope; 1527 v8::HandleScope outer_scope;
1529 1528
1530 { 1529 {
1531 v8::HandleScope scope; 1530 v8::HandleScope scope;
1532 CompileRun( 1531 CompileRun(
1533 "function foo () { }" 1532 "function foo () { }"
1534 "function mkbar () { return new (new Function(\"\")) (); }" 1533 "function mkbar () { return new (new Function(\"\")) (); }"
1535 "function f (x) { return (x instanceof foo); }" 1534 "function f (x) { return (x instanceof foo); }"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 CHECK(space->LastPage()->Contains(prototype->address())); 1623 CHECK(space->LastPage()->Contains(prototype->address()));
1625 baseObject->SetPrototype(*prototype, false)->ToObjectChecked(); 1624 baseObject->SetPrototype(*prototype, false)->ToObjectChecked();
1626 CHECK(map->GetPrototypeTransition(*prototype)->IsMap()); 1625 CHECK(map->GetPrototypeTransition(*prototype)->IsMap());
1627 HEAP->CollectAllGarbage(Heap::kNoGCFlags); 1626 HEAP->CollectAllGarbage(Heap::kNoGCFlags);
1628 CHECK(map->GetPrototypeTransition(*prototype)->IsMap()); 1627 CHECK(map->GetPrototypeTransition(*prototype)->IsMap());
1629 } 1628 }
1630 1629
1631 1630
1632 TEST(ResetSharedFunctionInfoCountersDuringIncrementalMarking) { 1631 TEST(ResetSharedFunctionInfoCountersDuringIncrementalMarking) {
1633 i::FLAG_allow_natives_syntax = true; 1632 i::FLAG_allow_natives_syntax = true;
1634 #ifdef DEBUG
1635 i::FLAG_verify_heap = true; 1633 i::FLAG_verify_heap = true;
1636 #endif 1634
1637 InitializeVM(); 1635 InitializeVM();
1638 if (!i::V8::UseCrankshaft()) return; 1636 if (!i::V8::UseCrankshaft()) return;
1639 v8::HandleScope outer_scope; 1637 v8::HandleScope outer_scope;
1640 1638
1641 { 1639 {
1642 v8::HandleScope scope; 1640 v8::HandleScope scope;
1643 CompileRun( 1641 CompileRun(
1644 "function f () {" 1642 "function f () {"
1645 " var s = 0;" 1643 " var s = 0;"
1646 " for (var i = 0; i < 100; i++) s += i;" 1644 " for (var i = 0; i < 100; i++) s += i;"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1679 } 1677 }
1680 1678
1681 CHECK_EQ(HEAP->global_ic_age(), f->shared()->ic_age()); 1679 CHECK_EQ(HEAP->global_ic_age(), f->shared()->ic_age());
1682 CHECK_EQ(0, f->shared()->opt_count()); 1680 CHECK_EQ(0, f->shared()->opt_count());
1683 CHECK_EQ(0, f->shared()->code()->profiler_ticks()); 1681 CHECK_EQ(0, f->shared()->code()->profiler_ticks());
1684 } 1682 }
1685 1683
1686 1684
1687 TEST(ResetSharedFunctionInfoCountersDuringMarkSweep) { 1685 TEST(ResetSharedFunctionInfoCountersDuringMarkSweep) {
1688 i::FLAG_allow_natives_syntax = true; 1686 i::FLAG_allow_natives_syntax = true;
1689 #ifdef DEBUG
1690 i::FLAG_verify_heap = true; 1687 i::FLAG_verify_heap = true;
1691 #endif 1688
1692 InitializeVM(); 1689 InitializeVM();
1693 if (!i::V8::UseCrankshaft()) return; 1690 if (!i::V8::UseCrankshaft()) return;
1694 v8::HandleScope outer_scope; 1691 v8::HandleScope outer_scope;
1695 1692
1696 { 1693 {
1697 v8::HandleScope scope; 1694 v8::HandleScope scope;
1698 CompileRun( 1695 CompileRun(
1699 "function f () {" 1696 "function f () {"
1700 " var s = 0;" 1697 " var s = 0;"
1701 " for (var i = 0; i < 100; i++) s += i;" 1698 " for (var i = 0; i < 100; i++) s += i;"
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
2298 Handle<Object> call_function(call); 2295 Handle<Object> call_function(call);
2299 2296
2300 // Now we are ready to mess up the heap. 2297 // Now we are ready to mess up the heap.
2301 HEAP->CollectAllGarbage(Heap::kReduceMemoryFootprintMask); 2298 HEAP->CollectAllGarbage(Heap::kReduceMemoryFootprintMask);
2302 2299
2303 // Either heap verification caught the problem already or we go kaboom once 2300 // Either heap verification caught the problem already or we go kaboom once
2304 // the CallIC is executed the next time. 2301 // the CallIC is executed the next time.
2305 USE(global->SetProperty(*name, *call_function, NONE, kNonStrictMode)); 2302 USE(global->SetProperty(*name, *call_function, NONE, kNonStrictMode));
2306 CompileRun("call();"); 2303 CompileRun("call();");
2307 } 2304 }
OLDNEW
« src/spaces.h ('K') | « test/cctest/test-debug.cc ('k') | test/cctest/test-weakmaps.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698