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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 #endif | 59 #endif |
60 | 60 |
61 namespace v8 { | 61 namespace v8 { |
62 namespace internal { | 62 namespace internal { |
63 | 63 |
64 | 64 |
65 Heap::Heap() | 65 Heap::Heap() |
66 : isolate_(NULL), | 66 : isolate_(NULL), |
67 // semispace_size_ should be a power of 2 and old_generation_size_ should be | 67 // semispace_size_ should be a power of 2 and old_generation_size_ should be |
68 // a multiple of Page::kPageSize. | 68 // a multiple of Page::kPageSize. |
69 #if defined(ANDROID) | 69 #if defined(V8_TARGET_ARCH_X64) |
70 #define LUMP_OF_MEMORY (128 * KB) | |
71 code_range_size_(0), | |
72 #elif defined(V8_TARGET_ARCH_X64) | |
73 #define LUMP_OF_MEMORY (2 * MB) | 70 #define LUMP_OF_MEMORY (2 * MB) |
74 code_range_size_(512*MB), | 71 code_range_size_(512*MB), |
75 #else | 72 #else |
76 #define LUMP_OF_MEMORY MB | 73 #define LUMP_OF_MEMORY MB |
77 code_range_size_(0), | 74 code_range_size_(0), |
78 #endif | 75 #endif |
| 76 #if defined(ANDROID) |
| 77 reserved_semispace_size_(4 * Max(LUMP_OF_MEMORY, Page::kPageSize)), |
| 78 max_semispace_size_(4 * Max(LUMP_OF_MEMORY, Page::kPageSize)), |
| 79 initial_semispace_size_(Page::kPageSize), |
| 80 max_old_generation_size_(192*MB), |
| 81 max_executable_size_(max_old_generation_size_), |
| 82 #else |
79 reserved_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)), | 83 reserved_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)), |
80 max_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)), | 84 max_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)), |
81 initial_semispace_size_(Page::kPageSize), | 85 initial_semispace_size_(Page::kPageSize), |
82 max_old_generation_size_(700ul * LUMP_OF_MEMORY), | 86 max_old_generation_size_(700ul * LUMP_OF_MEMORY), |
83 max_executable_size_(256l * LUMP_OF_MEMORY), | 87 max_executable_size_(256l * LUMP_OF_MEMORY), |
| 88 #endif |
84 | 89 |
85 // Variables set based on semispace_size_ and old_generation_size_ in | 90 // Variables set based on semispace_size_ and old_generation_size_ in |
86 // ConfigureHeap (survived_since_last_expansion_, external_allocation_limit_) | 91 // ConfigureHeap (survived_since_last_expansion_, external_allocation_limit_) |
87 // Will be 4 * reserved_semispace_size_ to ensure that young | 92 // Will be 4 * reserved_semispace_size_ to ensure that young |
88 // generation can be aligned to its size. | 93 // generation can be aligned to its size. |
89 survived_since_last_expansion_(0), | 94 survived_since_last_expansion_(0), |
90 sweep_generation_(0), | 95 sweep_generation_(0), |
91 always_allocate_scope_depth_(0), | 96 always_allocate_scope_depth_(0), |
92 linear_allocation_scope_depth_(0), | 97 linear_allocation_scope_depth_(0), |
93 contexts_disposed_(0), | 98 contexts_disposed_(0), |
(...skipping 7051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7145 } else { | 7150 } else { |
7146 p ^= 0x1d1ed & (Page::kPageSize - 1); // I died. | 7151 p ^= 0x1d1ed & (Page::kPageSize - 1); // I died. |
7147 } | 7152 } |
7148 remembered_unmapped_pages_[remembered_unmapped_pages_index_] = | 7153 remembered_unmapped_pages_[remembered_unmapped_pages_index_] = |
7149 reinterpret_cast<Address>(p); | 7154 reinterpret_cast<Address>(p); |
7150 remembered_unmapped_pages_index_++; | 7155 remembered_unmapped_pages_index_++; |
7151 remembered_unmapped_pages_index_ %= kRememberedUnmappedPages; | 7156 remembered_unmapped_pages_index_ %= kRememberedUnmappedPages; |
7152 } | 7157 } |
7153 | 7158 |
7154 } } // namespace v8::internal | 7159 } } // namespace v8::internal |
OLD | NEW |