Lines Matching refs:bin

123   // bin size sums being calculated.
231 // The object is already deflated from when we set the bin slot. Just overwrite the lock word.
256 // Will also return true if the bin slot was assigned since we are reusing the lock word.
364 // Likely-to-dirty objects get packed together into the same bin so that
370 Bin bin = kBinRegular;
375 // Changing the bin of an object is purely a memory-use tuning.
381 // * Dex cache arrays are stored in a special bin. The arrays for each dex cache have
390 // so bin them separately
401 // We assume that "regular" bin objects are highly unlikely to become dirtied,
405 bin = kBinClassVerified;
423 bin = kBinClassInitialized;
425 // If the class's static fields are all final, put it into a separate bin
429 bin = kBinClassInitializedFinalStatics;
442 bin = kBinClassInitializedFinalStatics;
447 bin = kBinString; // Strings are almost always immutable (except for object header).
453 bin = kBinDexCacheArray;
458 } // else bin = kBinRegular
460 } // else bin = kBinRegular
464 if (bin != kBinDexCacheArray) {
466 current_offset = bin_slot_sizes_[bin]; // How many bytes the current bin is at (aligned).
467 // Move the current bin size up to accomodate the object we just assigned a bin slot.
468 bin_slot_sizes_[bin] += offset_delta;
471 BinSlot new_bin_slot(bin, current_offset);
474 ++bin_slot_count_[bin];
492 // We always stash the bin slot into a lockword, in the 'forwarding address' state.
493 // If it's in some other state, then we haven't yet assigned an image bin slot.
501 << "bin slot offset should not exceed the size of that bin";
870 void ImageWriter::AssignMethodOffset(ArtMethod* method, Bin bin) {
874 native_object_reloc_.emplace(method, NativeObjectReloc { bin_slot_sizes_[bin], bin });
875 bin_slot_sizes_[bin] += ArtMethod::ObjectSize(target_ptr_size_);
893 // We know the bin slot, and the total bin sizes for all objects by now,
898 // Change the lockword from a bin slot into an offset
916 // Prepare bin slots for dex cache arrays.
918 // Clear any pre-existing monitors which may have been in the monitor words, assign bin slots.
935 // Calculate cumulative bin slot sizes.
944 // Transform each object's bin slot into an offset which will be used to do the final copy.
951 // Update the native relocations by adding their bin sums.
1481 static_assert(kBinBits == 3, "wrong number of bin bits");
1489 ImageWriter::BinSlot::BinSlot(Bin bin, uint32_t index)
1490 : BinSlot(index | (static_cast<uint32_t>(bin) << kBinShift)) {