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

Unified Diff: src/objects.h

Issue 356393003: [Arm]: Enable use of extended out-of-line constant pool for Arm. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Formatted with git cl format Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/debug.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index 2e78413aca98cc550a778aabf7a5674c78867d48..6e996a9fbaef1a284ca5eb2a45d6037216dec976 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -3135,6 +3135,12 @@ class ConstantPoolArray: public HeapObject {
class NumberOfEntries BASE_EMBEDDED {
public:
+ inline NumberOfEntries() {
+ for (int i = 0; i < NUMBER_OF_TYPES; i++) {
+ element_counts_[i] = 0;
+ }
+ }
+
inline NumberOfEntries(int int64_count, int code_ptr_count,
int heap_ptr_count, int int32_count) {
element_counts_[INT64] = int64_count;
@@ -3150,27 +3156,13 @@ class ConstantPoolArray: public HeapObject {
element_counts_[INT32] = array->number_of_entries(INT32, section);
}
- inline int count_of(Type type) const {
- ASSERT(type < NUMBER_OF_TYPES);
- return element_counts_[type];
- }
-
- inline int total_count() const {
- int count = 0;
- for (int i = 0; i < NUMBER_OF_TYPES; i++) {
- count += element_counts_[i];
- }
- return count;
- }
-
- inline int are_in_range(int min, int max) const {
- for (int i = FIRST_TYPE; i < NUMBER_OF_TYPES; i++) {
- if (element_counts_[i] < min || element_counts_[i] > max) {
- return false;
- }
- }
- return true;
- }
+ inline void increment(Type type);
+ inline int equals(const NumberOfEntries& other) const;
+ inline bool is_empty() const;
+ inline int count_of(Type type) const;
+ inline int base_of(Type type) const;
+ inline int total_count() const;
+ inline int are_in_range(int min, int max) const;
private:
int element_counts_[NUMBER_OF_TYPES];
@@ -3179,14 +3171,26 @@ class ConstantPoolArray: public HeapObject {
class Iterator BASE_EMBEDDED {
public:
inline Iterator(ConstantPoolArray* array, Type type)
- : array_(array), type_(type), final_section_(array->final_section()) {
- current_section_ = SMALL_SECTION;
- next_index_ = array->first_index(type, SMALL_SECTION);
+ : array_(array),
+ type_(type),
+ final_section_(array->final_section()),
+ current_section_(SMALL_SECTION),
+ next_index_(array->first_index(type, SMALL_SECTION)) {
+ update_section();
+ }
+
+ inline Iterator(ConstantPoolArray* array, Type type, LayoutSection section)
+ : array_(array),
+ type_(type),
+ final_section_(section),
+ current_section_(section),
+ next_index_(array->first_index(type, section)) {
update_section();
}
inline int next_index();
inline bool is_finished();
+
private:
inline void update_section();
ConstantPoolArray* array_;
@@ -3246,6 +3250,11 @@ class ConstantPoolArray: public HeapObject {
// Garbage collection support.
inline int size();
+
+ inline static int MaxInt64Offset(int number_of_int64) {
+ return kFirstEntryOffset + (number_of_int64 * kInt64Size);
+ }
+
inline static int SizeFor(const NumberOfEntries& small) {
int size = kFirstEntryOffset +
(small.count_of(INT64) * kInt64Size) +
« no previous file with comments | « src/debug.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698