| OLD | NEW |
| 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 1455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1466 capture_stack_trace_for_uncaught_exceptions_(false), | 1466 capture_stack_trace_for_uncaught_exceptions_(false), |
| 1467 stack_trace_for_uncaught_exceptions_frame_limit_(0), | 1467 stack_trace_for_uncaught_exceptions_frame_limit_(0), |
| 1468 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview), | 1468 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview), |
| 1469 transcendental_cache_(NULL), | 1469 transcendental_cache_(NULL), |
| 1470 memory_allocator_(NULL), | 1470 memory_allocator_(NULL), |
| 1471 keyed_lookup_cache_(NULL), | 1471 keyed_lookup_cache_(NULL), |
| 1472 context_slot_cache_(NULL), | 1472 context_slot_cache_(NULL), |
| 1473 descriptor_lookup_cache_(NULL), | 1473 descriptor_lookup_cache_(NULL), |
| 1474 handle_scope_implementer_(NULL), | 1474 handle_scope_implementer_(NULL), |
| 1475 unicode_cache_(NULL), | 1475 unicode_cache_(NULL), |
| 1476 runtime_zone_(this), |
| 1476 in_use_list_(0), | 1477 in_use_list_(0), |
| 1477 free_list_(0), | 1478 free_list_(0), |
| 1478 preallocated_storage_preallocated_(false), | 1479 preallocated_storage_preallocated_(false), |
| 1479 inner_pointer_to_code_cache_(NULL), | 1480 inner_pointer_to_code_cache_(NULL), |
| 1480 write_input_buffer_(NULL), | 1481 write_input_buffer_(NULL), |
| 1481 global_handles_(NULL), | 1482 global_handles_(NULL), |
| 1482 context_switcher_(NULL), | 1483 context_switcher_(NULL), |
| 1483 thread_manager_(NULL), | 1484 thread_manager_(NULL), |
| 1484 fp_stubs_generated_(false), | 1485 fp_stubs_generated_(false), |
| 1485 has_installed_extensions_(false), | 1486 has_installed_extensions_(false), |
| 1486 string_tracker_(NULL), | 1487 string_tracker_(NULL), |
| 1487 regexp_stack_(NULL), | 1488 regexp_stack_(NULL), |
| 1488 date_cache_(NULL), | 1489 date_cache_(NULL), |
| 1489 context_exit_happened_(false) { | 1490 context_exit_happened_(false) { |
| 1490 TRACE_ISOLATE(constructor); | 1491 TRACE_ISOLATE(constructor); |
| 1491 | 1492 |
| 1492 memset(isolate_addresses_, 0, | 1493 memset(isolate_addresses_, 0, |
| 1493 sizeof(isolate_addresses_[0]) * (kIsolateAddressCount + 1)); | 1494 sizeof(isolate_addresses_[0]) * (kIsolateAddressCount + 1)); |
| 1494 | 1495 |
| 1495 heap_.isolate_ = this; | 1496 heap_.isolate_ = this; |
| 1496 zone_.isolate_ = this; | |
| 1497 stack_guard_.isolate_ = this; | 1497 stack_guard_.isolate_ = this; |
| 1498 | 1498 |
| 1499 // ThreadManager is initialized early to support locking an isolate | 1499 // ThreadManager is initialized early to support locking an isolate |
| 1500 // before it is entered. | 1500 // before it is entered. |
| 1501 thread_manager_ = new ThreadManager(); | 1501 thread_manager_ = new ThreadManager(); |
| 1502 thread_manager_->isolate_ = this; | 1502 thread_manager_->isolate_ = this; |
| 1503 | 1503 |
| 1504 #if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \ | 1504 #if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \ |
| 1505 defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__) | 1505 defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__) |
| 1506 simulator_initialized_ = false; | 1506 simulator_initialized_ = false; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1602 PerIsolateThreadData* data) { | 1602 PerIsolateThreadData* data) { |
| 1603 Thread::SetThreadLocal(isolate_key_, isolate); | 1603 Thread::SetThreadLocal(isolate_key_, isolate); |
| 1604 Thread::SetThreadLocal(per_isolate_thread_data_key_, data); | 1604 Thread::SetThreadLocal(per_isolate_thread_data_key_, data); |
| 1605 } | 1605 } |
| 1606 | 1606 |
| 1607 | 1607 |
| 1608 Isolate::~Isolate() { | 1608 Isolate::~Isolate() { |
| 1609 TRACE_ISOLATE(destructor); | 1609 TRACE_ISOLATE(destructor); |
| 1610 | 1610 |
| 1611 // Has to be called while counters_ are still alive. | 1611 // Has to be called while counters_ are still alive. |
| 1612 zone_.DeleteKeptSegment(); | 1612 runtime_zone_.DeleteKeptSegment(); |
| 1613 | 1613 |
| 1614 delete[] assembler_spare_buffer_; | 1614 delete[] assembler_spare_buffer_; |
| 1615 assembler_spare_buffer_ = NULL; | 1615 assembler_spare_buffer_ = NULL; |
| 1616 | 1616 |
| 1617 delete unicode_cache_; | 1617 delete unicode_cache_; |
| 1618 unicode_cache_ = NULL; | 1618 unicode_cache_ = NULL; |
| 1619 | 1619 |
| 1620 delete date_cache_; | 1620 delete date_cache_; |
| 1621 date_cache_ = NULL; | 1621 date_cache_ = NULL; |
| 1622 | 1622 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1774 transcendental_cache_ = new TranscendentalCache(); | 1774 transcendental_cache_ = new TranscendentalCache(); |
| 1775 keyed_lookup_cache_ = new KeyedLookupCache(); | 1775 keyed_lookup_cache_ = new KeyedLookupCache(); |
| 1776 context_slot_cache_ = new ContextSlotCache(); | 1776 context_slot_cache_ = new ContextSlotCache(); |
| 1777 descriptor_lookup_cache_ = new DescriptorLookupCache(); | 1777 descriptor_lookup_cache_ = new DescriptorLookupCache(); |
| 1778 unicode_cache_ = new UnicodeCache(); | 1778 unicode_cache_ = new UnicodeCache(); |
| 1779 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this); | 1779 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this); |
| 1780 write_input_buffer_ = new StringInputBuffer(); | 1780 write_input_buffer_ = new StringInputBuffer(); |
| 1781 global_handles_ = new GlobalHandles(this); | 1781 global_handles_ = new GlobalHandles(this); |
| 1782 bootstrapper_ = new Bootstrapper(); | 1782 bootstrapper_ = new Bootstrapper(); |
| 1783 handle_scope_implementer_ = new HandleScopeImplementer(this); | 1783 handle_scope_implementer_ = new HandleScopeImplementer(this); |
| 1784 stub_cache_ = new StubCache(this, zone()); | 1784 stub_cache_ = new StubCache(this, runtime_zone()); |
| 1785 regexp_stack_ = new RegExpStack(); | 1785 regexp_stack_ = new RegExpStack(); |
| 1786 regexp_stack_->isolate_ = this; | 1786 regexp_stack_->isolate_ = this; |
| 1787 date_cache_ = new DateCache(); | 1787 date_cache_ = new DateCache(); |
| 1788 | 1788 |
| 1789 // Enable logging before setting up the heap | 1789 // Enable logging before setting up the heap |
| 1790 logger_->SetUp(); | 1790 logger_->SetUp(); |
| 1791 | 1791 |
| 1792 CpuProfiler::SetUp(); | 1792 CpuProfiler::SetUp(); |
| 1793 HeapProfiler::SetUp(); | 1793 HeapProfiler::SetUp(); |
| 1794 | 1794 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1964 | 1964 |
| 1965 #ifdef DEBUG | 1965 #ifdef DEBUG |
| 1966 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ | 1966 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ |
| 1967 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); | 1967 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); |
| 1968 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) | 1968 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) |
| 1969 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) | 1969 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) |
| 1970 #undef ISOLATE_FIELD_OFFSET | 1970 #undef ISOLATE_FIELD_OFFSET |
| 1971 #endif | 1971 #endif |
| 1972 | 1972 |
| 1973 } } // namespace v8::internal | 1973 } } // namespace v8::internal |
| OLD | NEW |