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

Side by Side Diff: src/isolate.cc

Issue 103243005: Captured arguments object materialization (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Formatting fix Created 6 years, 11 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 } 298 }
299 299
300 // Iterate pointers in live lookup results. 300 // Iterate pointers in live lookup results.
301 thread->top_lookup_result_->Iterate(v); 301 thread->top_lookup_result_->Iterate(v);
302 } 302 }
303 303
304 304
305 void Isolate::Iterate(ObjectVisitor* v) { 305 void Isolate::Iterate(ObjectVisitor* v) {
306 ThreadLocalTop* current_t = thread_local_top(); 306 ThreadLocalTop* current_t = thread_local_top();
307 Iterate(v, current_t); 307 Iterate(v, current_t);
308 materialized_object_store_->Iterate(v);
Michael Starzinger 2014/01/14 09:50:18 Can we move the pointer to the fixed array into th
Jarin 2014/01/27 15:40:58 Done.
308 } 309 }
309 310
310 311
311 void Isolate::IterateDeferredHandles(ObjectVisitor* visitor) { 312 void Isolate::IterateDeferredHandles(ObjectVisitor* visitor) {
312 for (DeferredHandles* deferred = deferred_handles_head_; 313 for (DeferredHandles* deferred = deferred_handles_head_;
313 deferred != NULL; 314 deferred != NULL;
314 deferred = deferred->next_) { 315 deferred = deferred->next_) {
315 deferred->Iterate(visitor); 316 deferred->Iterate(visitor);
316 } 317 }
317 } 318 }
(...skipping 1204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 bootstrapper_(NULL), 1523 bootstrapper_(NULL),
1523 runtime_profiler_(NULL), 1524 runtime_profiler_(NULL),
1524 compilation_cache_(NULL), 1525 compilation_cache_(NULL),
1525 counters_(NULL), 1526 counters_(NULL),
1526 code_range_(NULL), 1527 code_range_(NULL),
1527 debugger_initialized_(false), 1528 debugger_initialized_(false),
1528 logger_(NULL), 1529 logger_(NULL),
1529 stats_table_(NULL), 1530 stats_table_(NULL),
1530 stub_cache_(NULL), 1531 stub_cache_(NULL),
1531 deoptimizer_data_(NULL), 1532 deoptimizer_data_(NULL),
1533 materialized_object_store_(NULL),
1532 capture_stack_trace_for_uncaught_exceptions_(false), 1534 capture_stack_trace_for_uncaught_exceptions_(false),
1533 stack_trace_for_uncaught_exceptions_frame_limit_(0), 1535 stack_trace_for_uncaught_exceptions_frame_limit_(0),
1534 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview), 1536 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview),
1535 memory_allocator_(NULL), 1537 memory_allocator_(NULL),
1536 keyed_lookup_cache_(NULL), 1538 keyed_lookup_cache_(NULL),
1537 context_slot_cache_(NULL), 1539 context_slot_cache_(NULL),
1538 descriptor_lookup_cache_(NULL), 1540 descriptor_lookup_cache_(NULL),
1539 handle_scope_implementer_(NULL), 1541 handle_scope_implementer_(NULL),
1540 unicode_cache_(NULL), 1542 unicode_cache_(NULL),
1541 runtime_zone_(this), 1543 runtime_zone_(this),
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1766 delete context_slot_cache_; 1768 delete context_slot_cache_;
1767 context_slot_cache_ = NULL; 1769 context_slot_cache_ = NULL;
1768 delete keyed_lookup_cache_; 1770 delete keyed_lookup_cache_;
1769 keyed_lookup_cache_ = NULL; 1771 keyed_lookup_cache_ = NULL;
1770 1772
1771 delete stub_cache_; 1773 delete stub_cache_;
1772 stub_cache_ = NULL; 1774 stub_cache_ = NULL;
1773 delete stats_table_; 1775 delete stats_table_;
1774 stats_table_ = NULL; 1776 stats_table_ = NULL;
1775 1777
1778 delete materialized_object_store_;
1779 materialized_object_store_ = NULL;
1780
1776 delete logger_; 1781 delete logger_;
1777 logger_ = NULL; 1782 logger_ = NULL;
1778 1783
1779 delete counters_; 1784 delete counters_;
1780 counters_ = NULL; 1785 counters_ = NULL;
1781 1786
1782 delete handle_scope_implementer_; 1787 delete handle_scope_implementer_;
1783 handle_scope_implementer_ = NULL; 1788 handle_scope_implementer_ = NULL;
1784 1789
1785 delete compilation_cache_; 1790 delete compilation_cache_;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 context_slot_cache_ = new ContextSlotCache(); 1941 context_slot_cache_ = new ContextSlotCache();
1937 descriptor_lookup_cache_ = new DescriptorLookupCache(); 1942 descriptor_lookup_cache_ = new DescriptorLookupCache();
1938 unicode_cache_ = new UnicodeCache(); 1943 unicode_cache_ = new UnicodeCache();
1939 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this); 1944 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this);
1940 write_iterator_ = new ConsStringIteratorOp(); 1945 write_iterator_ = new ConsStringIteratorOp();
1941 global_handles_ = new GlobalHandles(this); 1946 global_handles_ = new GlobalHandles(this);
1942 eternal_handles_ = new EternalHandles(); 1947 eternal_handles_ = new EternalHandles();
1943 bootstrapper_ = new Bootstrapper(this); 1948 bootstrapper_ = new Bootstrapper(this);
1944 handle_scope_implementer_ = new HandleScopeImplementer(this); 1949 handle_scope_implementer_ = new HandleScopeImplementer(this);
1945 stub_cache_ = new StubCache(this); 1950 stub_cache_ = new StubCache(this);
1951 materialized_object_store_ = new MaterializedObjectStore(this);
1946 regexp_stack_ = new RegExpStack(); 1952 regexp_stack_ = new RegExpStack();
1947 regexp_stack_->isolate_ = this; 1953 regexp_stack_->isolate_ = this;
1948 date_cache_ = new DateCache(); 1954 date_cache_ = new DateCache();
1949 code_stub_interface_descriptors_ = 1955 code_stub_interface_descriptors_ =
1950 new CodeStubInterfaceDescriptor[CodeStub::NUMBER_OF_IDS]; 1956 new CodeStubInterfaceDescriptor[CodeStub::NUMBER_OF_IDS];
1951 cpu_profiler_ = new CpuProfiler(this); 1957 cpu_profiler_ = new CpuProfiler(this);
1952 heap_profiler_ = new HeapProfiler(heap()); 1958 heap_profiler_ = new HeapProfiler(heap());
1953 1959
1954 // Enable logging before setting up the heap 1960 // Enable logging before setting up the heap
1955 logger_->SetUp(this); 1961 logger_->SetUp(this);
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
2292 2298
2293 #ifdef DEBUG 2299 #ifdef DEBUG
2294 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ 2300 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \
2295 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); 2301 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);
2296 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) 2302 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET)
2297 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) 2303 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
2298 #undef ISOLATE_FIELD_OFFSET 2304 #undef ISOLATE_FIELD_OFFSET
2299 #endif 2305 #endif
2300 2306
2301 } } // namespace v8::internal 2307 } } // namespace v8::internal
OLDNEW
« src/isolate.h ('K') | « src/isolate.h ('k') | src/lithium.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698