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

Side by Side Diff: src/heap.cc

Issue 7553012: Prototype of mark-and-compact support for Harmony weak maps. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 4 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 1274 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 template VisitSpecialized<Context::kSize>); 1285 template VisitSpecialized<Context::kSize>);
1286 1286
1287 table_.Register(kVisitConsString, 1287 table_.Register(kVisitConsString,
1288 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1288 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1289 template VisitSpecialized<ConsString::kSize>); 1289 template VisitSpecialized<ConsString::kSize>);
1290 1290
1291 table_.Register(kVisitSharedFunctionInfo, 1291 table_.Register(kVisitSharedFunctionInfo,
1292 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1292 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1293 template VisitSpecialized<SharedFunctionInfo::kSize>); 1293 template VisitSpecialized<SharedFunctionInfo::kSize>);
1294 1294
1295 table_.Register(kVisitJSWeakMap,
1296 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1297 Visit);
1298
1295 table_.Register(kVisitJSRegExp, 1299 table_.Register(kVisitJSRegExp,
1296 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1300 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1297 Visit); 1301 Visit);
1298 1302
1299 table_.Register(kVisitJSFunction, 1303 table_.Register(kVisitJSFunction,
1300 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1304 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1301 template VisitSpecialized<JSFunction::kSize>); 1305 template VisitSpecialized<JSFunction::kSize>);
1302 1306
1303 table_.RegisterSpecializations<ObjectEvacuationStrategy<DATA_OBJECT>, 1307 table_.RegisterSpecializations<ObjectEvacuationStrategy<DATA_OBJECT>,
1304 kVisitDataObject, 1308 kVisitDataObject,
(...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after
2203 2207
2204 // Allocate cache for external strings pointing to native source code. 2208 // Allocate cache for external strings pointing to native source code.
2205 { MaybeObject* maybe_obj = AllocateFixedArray(Natives::GetBuiltinsCount()); 2209 { MaybeObject* maybe_obj = AllocateFixedArray(Natives::GetBuiltinsCount());
2206 if (!maybe_obj->ToObject(&obj)) return false; 2210 if (!maybe_obj->ToObject(&obj)) return false;
2207 } 2211 }
2208 set_natives_source_cache(FixedArray::cast(obj)); 2212 set_natives_source_cache(FixedArray::cast(obj));
2209 2213
2210 // Handling of script id generation is in FACTORY->NewScript. 2214 // Handling of script id generation is in FACTORY->NewScript.
2211 set_last_script_id(undefined_value()); 2215 set_last_script_id(undefined_value());
2212 2216
2217 set_encountered_weak_maps(Smi::FromInt(0));
2218
2213 // Initialize keyed lookup cache. 2219 // Initialize keyed lookup cache.
2214 isolate_->keyed_lookup_cache()->Clear(); 2220 isolate_->keyed_lookup_cache()->Clear();
2215 2221
2216 // Initialize context slot cache. 2222 // Initialize context slot cache.
2217 isolate_->context_slot_cache()->Clear(); 2223 isolate_->context_slot_cache()->Clear();
2218 2224
2219 // Initialize descriptor cache. 2225 // Initialize descriptor cache.
2220 isolate_->descriptor_lookup_cache()->Clear(); 2226 isolate_->descriptor_lookup_cache()->Clear();
2221 2227
2222 // Initialize compilation cache. 2228 // Initialize compilation cache.
(...skipping 3823 matching lines...) Expand 10 before | Expand all | Expand 10 after
6046 } 6052 }
6047 6053
6048 6054
6049 void ExternalStringTable::TearDown() { 6055 void ExternalStringTable::TearDown() {
6050 new_space_strings_.Free(); 6056 new_space_strings_.Free();
6051 old_space_strings_.Free(); 6057 old_space_strings_.Free();
6052 } 6058 }
6053 6059
6054 6060
6055 } } // namespace v8::internal 6061 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698