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

Side by Side Diff: src/mark-compact.cc

Issue 11975012: Remove support for Live Object List and inspector module. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 11 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
« no previous file with comments | « src/liveobjectlist-inl.h ('k') | src/runtime.h » ('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 18 matching lines...) Expand all
29 29
30 #include "code-stubs.h" 30 #include "code-stubs.h"
31 #include "compilation-cache.h" 31 #include "compilation-cache.h"
32 #include "deoptimizer.h" 32 #include "deoptimizer.h"
33 #include "execution.h" 33 #include "execution.h"
34 #include "gdb-jit.h" 34 #include "gdb-jit.h"
35 #include "global-handles.h" 35 #include "global-handles.h"
36 #include "heap-profiler.h" 36 #include "heap-profiler.h"
37 #include "ic-inl.h" 37 #include "ic-inl.h"
38 #include "incremental-marking.h" 38 #include "incremental-marking.h"
39 #include "liveobjectlist-inl.h"
40 #include "mark-compact.h" 39 #include "mark-compact.h"
41 #include "objects-visiting.h" 40 #include "objects-visiting.h"
42 #include "objects-visiting-inl.h" 41 #include "objects-visiting-inl.h"
43 #include "stub-cache.h" 42 #include "stub-cache.h"
44 43
45 namespace v8 { 44 namespace v8 {
46 namespace internal { 45 namespace internal {
47 46
48 47
49 const char* Marking::kWhiteBitPattern = "00"; 48 const char* Marking::kWhiteBitPattern = "00";
(...skipping 2535 matching lines...) Expand 10 before | Expand all | Expand 10 after
2585 allocation = new_space->AllocateRaw(size); 2584 allocation = new_space->AllocateRaw(size);
2586 ASSERT(!allocation->IsFailure()); 2585 ASSERT(!allocation->IsFailure());
2587 } 2586 }
2588 Object* target = allocation->ToObjectUnchecked(); 2587 Object* target = allocation->ToObjectUnchecked();
2589 2588
2590 MigrateObject(HeapObject::cast(target)->address(), 2589 MigrateObject(HeapObject::cast(target)->address(),
2591 object->address(), 2590 object->address(),
2592 size, 2591 size,
2593 NEW_SPACE); 2592 NEW_SPACE);
2594 } else { 2593 } else {
2595 // Process the dead object before we write a NULL into its header.
2596 LiveObjectList::ProcessNonLive(object);
2597
2598 // Mark dead objects in the new space with null in their map field. 2594 // Mark dead objects in the new space with null in their map field.
2599 Memory::Address_at(object->address()) = NULL; 2595 Memory::Address_at(object->address()) = NULL;
2600 } 2596 }
2601 } 2597 }
2602 2598
2603 heap_->IncrementYoungSurvivorsCounter(survivors_size); 2599 heap_->IncrementYoungSurvivorsCounter(survivors_size);
2604 new_space->set_age_mark(new_space->top()); 2600 new_space->set_age_mark(new_space->top());
2605 } 2601 }
2606 2602
2607 2603
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
2987 object->IterateBody(map->instance_type(), 2983 object->IterateBody(map->instance_type(),
2988 object->SizeFromMap(map), 2984 object->SizeFromMap(map),
2989 &updating_visitor); 2985 &updating_visitor);
2990 } 2986 }
2991 } 2987 }
2992 2988
2993 { GCTracer::Scope gc_scope(tracer_, 2989 { GCTracer::Scope gc_scope(tracer_,
2994 GCTracer::Scope::MC_UPDATE_ROOT_TO_NEW_POINTERS); 2990 GCTracer::Scope::MC_UPDATE_ROOT_TO_NEW_POINTERS);
2995 // Update roots. 2991 // Update roots.
2996 heap_->IterateRoots(&updating_visitor, VISIT_ALL_IN_SWEEP_NEWSPACE); 2992 heap_->IterateRoots(&updating_visitor, VISIT_ALL_IN_SWEEP_NEWSPACE);
2997 LiveObjectList::IterateElements(&updating_visitor);
2998 } 2993 }
2999 2994
3000 { GCTracer::Scope gc_scope(tracer_, 2995 { GCTracer::Scope gc_scope(tracer_,
3001 GCTracer::Scope::MC_UPDATE_OLD_TO_NEW_POINTERS); 2996 GCTracer::Scope::MC_UPDATE_OLD_TO_NEW_POINTERS);
3002 StoreBufferRebuildScope scope(heap_, 2997 StoreBufferRebuildScope scope(heap_,
3003 heap_->store_buffer(), 2998 heap_->store_buffer(),
3004 &Heap::ScavengeStoreBufferCallback); 2999 &Heap::ScavengeStoreBufferCallback);
3005 heap_->store_buffer()->IteratePointersToNewSpace(&UpdatePointer); 3000 heap_->store_buffer()->IteratePointersToNewSpace(&UpdatePointer);
3006 } 3001 }
3007 3002
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after
3853 while (buffer != NULL) { 3848 while (buffer != NULL) {
3854 SlotsBuffer* next_buffer = buffer->next(); 3849 SlotsBuffer* next_buffer = buffer->next();
3855 DeallocateBuffer(buffer); 3850 DeallocateBuffer(buffer);
3856 buffer = next_buffer; 3851 buffer = next_buffer;
3857 } 3852 }
3858 *buffer_address = NULL; 3853 *buffer_address = NULL;
3859 } 3854 }
3860 3855
3861 3856
3862 } } // namespace v8::internal 3857 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/liveobjectlist-inl.h ('k') | src/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698