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

Unified Diff: src/mark-compact.cc

Issue 24791002: Thumb2 Backend: Thumb2 changes for Deoptimization and Code Aging Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/mark-compact.h ('k') | src/objects.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/mark-compact.cc
diff --git a/src/mark-compact.cc b/src/mark-compact.cc
index f065da1f94fb6ac507d0443bbd066f7c460a62bf..e5646f4bdda24ddb9abf01ef6357e8f22c02d000 100644
--- a/src/mark-compact.cc
+++ b/src/mark-compact.cc
@@ -2758,7 +2758,9 @@ void MarkCompactCollector::MigrateObject(Address dst,
if (heap_->InNewSpace(value)) {
heap_->store_buffer()->Mark(dst_slot);
- } else if (value->IsHeapObject() && IsOnEvacuationCandidate(value)) {
+ } else if (value->IsHeapObject() &&
+ !IsCodeEntry(src, value) &&
+ IsOnEvacuationCandidate(value)) {
SlotsBuffer::AddTo(&slots_buffer_allocator_,
&migration_slots_buffer_,
reinterpret_cast<Object**>(dst_slot),
@@ -2830,7 +2832,7 @@ class PointersUpdatingVisitor: public ObjectVisitor {
Object* old_target = target;
VisitPointer(&target);
if (target != old_target) {
- rinfo->set_target_address(Code::cast(target)->instruction_start());
+ rinfo->set_target_address(Code::cast(target)->entry());
}
}
@@ -2851,7 +2853,7 @@ class PointersUpdatingVisitor: public ObjectVisitor {
rinfo->IsPatchedDebugBreakSlotSequence()));
Object* target = Code::GetCodeFromTargetAddress(rinfo->call_address());
VisitPointer(&target);
- rinfo->set_call_address(Code::cast(target)->instruction_start());
+ rinfo->set_call_address(Code::cast(target)->entry());
}
static inline void UpdateSlot(Heap* heap, Object** slot) {
« no previous file with comments | « src/mark-compact.h ('k') | src/objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698