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

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

Issue 284773004: Skip write barriers when updating the weak hash table. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address comments Created 6 years, 7 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/heap.cc ('k') | src/objects.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "v8.h" 5 #include "v8.h"
6 6
7 #include "code-stubs.h" 7 #include "code-stubs.h"
8 #include "compilation-cache.h" 8 #include "compilation-cache.h"
9 #include "cpu-profiler.h" 9 #include "cpu-profiler.h"
10 #include "deoptimizer.h" 10 #include "deoptimizer.h"
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 if (!IsMarked(value)) { 2627 if (!IsMarked(value)) {
2628 HeapObject* obj = HeapObject::cast(value); 2628 HeapObject* obj = HeapObject::cast(value);
2629 MarkBit mark = Marking::MarkBitFrom(obj); 2629 MarkBit mark = Marking::MarkBitFrom(obj);
2630 SetMark(obj, mark); 2630 SetMark(obj, mark);
2631 } 2631 }
2632 ClearNonLiveDependentCode(DependentCode::cast(value)); 2632 ClearNonLiveDependentCode(DependentCode::cast(value));
2633 } else { 2633 } else {
2634 ClearDependentCode(DependentCode::cast(value)); 2634 ClearDependentCode(DependentCode::cast(value));
2635 table->set(key_index, heap_->the_hole_value()); 2635 table->set(key_index, heap_->the_hole_value());
2636 table->set(value_index, heap_->the_hole_value()); 2636 table->set(value_index, heap_->the_hole_value());
2637 table->ElementRemoved();
2637 } 2638 }
2638 } 2639 }
2639 } 2640 }
2640 } 2641 }
2641 2642
2642 2643
2643 void MarkCompactCollector::ClearNonLivePrototypeTransitions(Map* map) { 2644 void MarkCompactCollector::ClearNonLivePrototypeTransitions(Map* map) {
2644 int number_of_transitions = map->NumberOfProtoTransitions(); 2645 int number_of_transitions = map->NumberOfProtoTransitions();
2645 FixedArray* prototype_transitions = map->GetPrototypeTransitions(); 2646 FixedArray* prototype_transitions = map->GetPrototypeTransitions();
2646 2647
(...skipping 1884 matching lines...) Expand 10 before | Expand all | Expand 10 after
4531 while (buffer != NULL) { 4532 while (buffer != NULL) {
4532 SlotsBuffer* next_buffer = buffer->next(); 4533 SlotsBuffer* next_buffer = buffer->next();
4533 DeallocateBuffer(buffer); 4534 DeallocateBuffer(buffer);
4534 buffer = next_buffer; 4535 buffer = next_buffer;
4535 } 4536 }
4536 *buffer_address = NULL; 4537 *buffer_address = NULL;
4537 } 4538 }
4538 4539
4539 4540
4540 } } // namespace v8::internal 4541 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698