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

Side by Side Diff: src/objects.cc

Issue 179813005: Special case the recording of constant pool entries in the slot buffer. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 10241 matching lines...) Expand 10 before | Expand all | Expand 10 after
10252 10252
10253 10253
10254 #define DECLARE_TAG(ignore1, ignore2, name) name, 10254 #define DECLARE_TAG(ignore1, ignore2, name) name,
10255 const char* const VisitorSynchronization::kTagNames[ 10255 const char* const VisitorSynchronization::kTagNames[
10256 VisitorSynchronization::kNumberOfSyncTags] = { 10256 VisitorSynchronization::kNumberOfSyncTags] = {
10257 VISITOR_SYNCHRONIZATION_TAGS_LIST(DECLARE_TAG) 10257 VISITOR_SYNCHRONIZATION_TAGS_LIST(DECLARE_TAG)
10258 }; 10258 };
10259 #undef DECLARE_TAG 10259 #undef DECLARE_TAG
10260 10260
10261 10261
10262 void ObjectVisitor::VisitCodeTarget(RelocInfo* rinfo) { 10262 void ObjectVisitor::VisitCodeTargetCommon(Address target_address) {
Michael Starzinger 2014/03/07 14:36:59 IMHO, the logic in here is small enough so that we
rmcilroy 2014/03/10 12:25:23 Removed VisitCodeTarget(Address) as discussed, so
10263 ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode())); 10263 Object* target = Code::GetCodeFromTargetAddress(target_address);
10264 Object* target = Code::GetCodeFromTargetAddress(rinfo->target_address());
10265 Object* old_target = target; 10264 Object* old_target = target;
10266 VisitPointer(&target); 10265 VisitPointer(&target);
10267 CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target. 10266 CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target.
10268 } 10267 }
10269 10268
10270 10269
10270 void ObjectVisitor::VisitCodeTarget(RelocInfo* rinfo) {
10271 ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode()));
10272 VisitCodeTargetCommon(rinfo->target_address());
10273 }
10274
10275
10276 void ObjectVisitor::VisitCodeTarget(Address target_address_pointer) {
10277 VisitCodeTargetCommon(Memory::Address_at(target_address_pointer));
10278 }
10279
10280
10271 void ObjectVisitor::VisitCodeAgeSequence(RelocInfo* rinfo) { 10281 void ObjectVisitor::VisitCodeAgeSequence(RelocInfo* rinfo) {
10272 ASSERT(RelocInfo::IsCodeAgeSequence(rinfo->rmode())); 10282 ASSERT(RelocInfo::IsCodeAgeSequence(rinfo->rmode()));
10273 Object* stub = rinfo->code_age_stub(); 10283 Object* stub = rinfo->code_age_stub();
10274 if (stub) { 10284 if (stub) {
10275 VisitPointer(&stub); 10285 VisitPointer(&stub);
10276 } 10286 }
10277 } 10287 }
10278 10288
10279 10289
10280 void ObjectVisitor::VisitCodeEntry(Address entry_address) { 10290 void ObjectVisitor::VisitCodeEntry(Address entry_address) {
(...skipping 6202 matching lines...) Expand 10 before | Expand all | Expand 10 after
16483 #define ERROR_MESSAGES_TEXTS(C, T) T, 16493 #define ERROR_MESSAGES_TEXTS(C, T) T,
16484 static const char* error_messages_[] = { 16494 static const char* error_messages_[] = {
16485 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) 16495 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS)
16486 }; 16496 };
16487 #undef ERROR_MESSAGES_TEXTS 16497 #undef ERROR_MESSAGES_TEXTS
16488 return error_messages_[reason]; 16498 return error_messages_[reason];
16489 } 16499 }
16490 16500
16491 16501
16492 } } // namespace v8::internal 16502 } } // namespace v8::internal
OLDNEW
« src/objects.h ('K') | « src/objects.h ('k') | src/serialize.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698