OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_SPACES_H_ | 5 #ifndef V8_SPACES_H_ |
6 #define V8_SPACES_H_ | 6 #define V8_SPACES_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/base/atomicops.h" | 9 #include "src/base/atomicops.h" |
10 #include "src/hashmap.h" | 10 #include "src/hashmap.h" |
(...skipping 1989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2000 | 2000 |
2001 // Expands the space by allocating a fixed number of pages. Returns false if | 2001 // Expands the space by allocating a fixed number of pages. Returns false if |
2002 // it cannot allocate requested number of pages from OS, or if the hard heap | 2002 // it cannot allocate requested number of pages from OS, or if the hard heap |
2003 // size limit has been hit. | 2003 // size limit has been hit. |
2004 bool Expand(); | 2004 bool Expand(); |
2005 | 2005 |
2006 // Generic fast case allocation function that tries linear allocation at the | 2006 // Generic fast case allocation function that tries linear allocation at the |
2007 // address denoted by top in allocation_info_. | 2007 // address denoted by top in allocation_info_. |
2008 inline HeapObject* AllocateLinearly(int size_in_bytes); | 2008 inline HeapObject* AllocateLinearly(int size_in_bytes); |
2009 | 2009 |
| 2010 MUST_USE_RESULT HeapObject* |
| 2011 WaitForSweeperThreadsAndRetryAllocation(int size_in_bytes); |
| 2012 |
2010 // Slow path of AllocateRaw. This function is space-dependent. | 2013 // Slow path of AllocateRaw. This function is space-dependent. |
2011 MUST_USE_RESULT virtual HeapObject* SlowAllocateRaw(int size_in_bytes); | 2014 MUST_USE_RESULT HeapObject* SlowAllocateRaw(int size_in_bytes); |
2012 | 2015 |
2013 friend class PageIterator; | 2016 friend class PageIterator; |
2014 friend class MarkCompactCollector; | 2017 friend class MarkCompactCollector; |
2015 }; | 2018 }; |
2016 | 2019 |
2017 | 2020 |
2018 class NumberAndSizeInfo BASE_EMBEDDED { | 2021 class NumberAndSizeInfo BASE_EMBEDDED { |
2019 public: | 2022 public: |
2020 NumberAndSizeInfo() : number_(0), bytes_(0) {} | 2023 NumberAndSizeInfo() : number_(0), bytes_(0) {} |
2021 | 2024 |
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3004 } | 3007 } |
3005 // Must be small, since an iteration is used for lookup. | 3008 // Must be small, since an iteration is used for lookup. |
3006 static const int kMaxComments = 64; | 3009 static const int kMaxComments = 64; |
3007 }; | 3010 }; |
3008 #endif | 3011 #endif |
3009 | 3012 |
3010 | 3013 |
3011 } } // namespace v8::internal | 3014 } } // namespace v8::internal |
3012 | 3015 |
3013 #endif // V8_SPACES_H_ | 3016 #endif // V8_SPACES_H_ |
OLD | NEW |