Lines Matching refs:ConstantPoolEntry
16 info_[ConstantPoolEntry::INTPTR].entries.reserve(64);
17 info_[ConstantPoolEntry::INTPTR].regular_reach_bits = ptr_reach_bits;
18 info_[ConstantPoolEntry::DOUBLE].regular_reach_bits = double_reach_bits;
21 ConstantPoolEntry::Access ConstantPoolBuilder::NextAccess(
22 ConstantPoolEntry::Type type) const {
25 if (info.overflow()) return ConstantPoolEntry::OVERFLOWED;
27 int dbl_count = info_[ConstantPoolEntry::DOUBLE].regular_count;
29 int ptr_count = info_[ConstantPoolEntry::INTPTR].regular_count;
32 if (type == ConstantPoolEntry::DOUBLE) {
34 int ptr_reach_bits = info_[ConstantPoolEntry::INTPTR].regular_reach_bits;
39 return ConstantPoolEntry::OVERFLOWED;
42 DCHECK(type == ConstantPoolEntry::INTPTR);
44 return ConstantPoolEntry::OVERFLOWED;
48 return ConstantPoolEntry::REGULAR;
51 ConstantPoolEntry::Access ConstantPoolBuilder::AddEntry(
52 ConstantPoolEntry* entry, ConstantPoolEntry::Type type) {
55 const int entry_size = ConstantPoolEntry::size(type);
60 std::vector<ConstantPoolEntry>::iterator it = info.shared_entries.begin();
76 ConstantPoolEntry::Access access =
77 (merged ? ConstantPoolEntry::REGULAR : NextAccess(type));
81 if (entry->sharing_ok() && !merged && access == ConstantPoolEntry::REGULAR) {
91 if (access == ConstantPoolEntry::REGULAR) {
101 ConstantPoolEntry::Type type) {
103 std::vector<ConstantPoolEntry>& shared_entries = info.shared_entries;
104 const int entry_size = ConstantPoolEntry::size(type);
108 std::vector<ConstantPoolEntry>::iterator shared_it = shared_entries.begin();
121 ConstantPoolEntry::REGULAR, type);
126 ConstantPoolEntry::Access access,
127 ConstantPoolEntry::Type type) {
130 std::vector<ConstantPoolEntry>& entries = info.entries;
131 std::vector<ConstantPoolEntry>& shared_entries = info.shared_entries;
132 const int entry_size = ConstantPoolEntry::size(type);
138 if (access == ConstantPoolEntry::REGULAR) {
143 if (access == ConstantPoolEntry::REGULAR) {
147 DCHECK(access == ConstantPoolEntry::OVERFLOWED);
153 std::vector<ConstantPoolEntry>::iterator it = entries.begin();
158 ConstantPoolEntry::Access entry_access;
171 entry_access = ConstantPoolEntry::REGULAR;
174 DCHECK(entry_access == ConstantPoolEntry::OVERFLOWED ||
195 EmitGroup(assm, ConstantPoolEntry::REGULAR, ConstantPoolEntry::DOUBLE);
196 EmitGroup(assm, ConstantPoolEntry::REGULAR, ConstantPoolEntry::INTPTR);
197 if (info_[ConstantPoolEntry::DOUBLE].overflow()) {
199 EmitGroup(assm, ConstantPoolEntry::OVERFLOWED,
200 ConstantPoolEntry::DOUBLE);
202 if (info_[ConstantPoolEntry::INTPTR].overflow()) {
203 EmitGroup(assm, ConstantPoolEntry::OVERFLOWED,
204 ConstantPoolEntry::INTPTR);