OLD | NEW |
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 8160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8171 void Relocatable::PostGarbageCollectionProcessing(Isolate* isolate) { | 8171 void Relocatable::PostGarbageCollectionProcessing(Isolate* isolate) { |
8172 Relocatable* current = isolate->relocatable_top(); | 8172 Relocatable* current = isolate->relocatable_top(); |
8173 while (current != NULL) { | 8173 while (current != NULL) { |
8174 current->PostGarbageCollection(); | 8174 current->PostGarbageCollection(); |
8175 current = current->prev_; | 8175 current = current->prev_; |
8176 } | 8176 } |
8177 } | 8177 } |
8178 | 8178 |
8179 | 8179 |
8180 // Reserve space for statics needing saving and restoring. | 8180 // Reserve space for statics needing saving and restoring. |
8181 int Relocatable::ArchiveSpacePerThread(Isolate* isolate) { | 8181 int Relocatable::ArchiveSpacePerThread() { |
8182 return sizeof(isolate->relocatable_top()); | 8182 return sizeof(Relocatable*); // NOLINT |
8183 } | 8183 } |
8184 | 8184 |
8185 | 8185 |
8186 // Archive statics that are thread local. | 8186 // Archive statics that are thread local. |
8187 char* Relocatable::ArchiveState(Isolate* isolate, char* to) { | 8187 char* Relocatable::ArchiveState(Isolate* isolate, char* to) { |
8188 *reinterpret_cast<Relocatable**>(to) = isolate->relocatable_top(); | 8188 *reinterpret_cast<Relocatable**>(to) = isolate->relocatable_top(); |
8189 isolate->set_relocatable_top(NULL); | 8189 isolate->set_relocatable_top(NULL); |
8190 return to + ArchiveSpacePerThread(isolate); | 8190 return to + ArchiveSpacePerThread(); |
8191 } | 8191 } |
8192 | 8192 |
8193 | 8193 |
8194 // Restore statics that are thread local. | 8194 // Restore statics that are thread local. |
8195 char* Relocatable::RestoreState(Isolate* isolate, char* from) { | 8195 char* Relocatable::RestoreState(Isolate* isolate, char* from) { |
8196 isolate->set_relocatable_top(*reinterpret_cast<Relocatable**>(from)); | 8196 isolate->set_relocatable_top(*reinterpret_cast<Relocatable**>(from)); |
8197 return from + ArchiveSpacePerThread(isolate); | 8197 return from + ArchiveSpacePerThread(); |
8198 } | 8198 } |
8199 | 8199 |
8200 | 8200 |
8201 char* Relocatable::Iterate( | 8201 char* Relocatable::Iterate(ObjectVisitor* v, char* thread_storage) { |
8202 Isolate* isolate, ObjectVisitor* v, char* thread_storage) { | |
8203 Relocatable* top = *reinterpret_cast<Relocatable**>(thread_storage); | 8202 Relocatable* top = *reinterpret_cast<Relocatable**>(thread_storage); |
8204 Iterate(v, top); | 8203 Iterate(v, top); |
8205 return thread_storage + ArchiveSpacePerThread(isolate); | 8204 return thread_storage + ArchiveSpacePerThread(); |
8206 } | 8205 } |
8207 | 8206 |
8208 | 8207 |
8209 void Relocatable::Iterate(Isolate* isolate, ObjectVisitor* v) { | 8208 void Relocatable::Iterate(Isolate* isolate, ObjectVisitor* v) { |
8210 Iterate(v, isolate->relocatable_top()); | 8209 Iterate(v, isolate->relocatable_top()); |
8211 } | 8210 } |
8212 | 8211 |
8213 | 8212 |
8214 void Relocatable::Iterate(ObjectVisitor* v, Relocatable* top) { | 8213 void Relocatable::Iterate(ObjectVisitor* v, Relocatable* top) { |
8215 Relocatable* current = top; | 8214 Relocatable* current = top; |
(...skipping 7805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16021 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16020 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16022 static const char* error_messages_[] = { | 16021 static const char* error_messages_[] = { |
16023 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16022 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16024 }; | 16023 }; |
16025 #undef ERROR_MESSAGES_TEXTS | 16024 #undef ERROR_MESSAGES_TEXTS |
16026 return error_messages_[reason]; | 16025 return error_messages_[reason]; |
16027 } | 16026 } |
16028 | 16027 |
16029 | 16028 |
16030 } } // namespace v8::internal | 16029 } } // namespace v8::internal |
OLD | NEW |