summaryrefslogtreecommitdiff
path: root/runtime/art_method.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/art_method.h')
-rw-r--r--runtime/art_method.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/runtime/art_method.h b/runtime/art_method.h
index ce8e8ac612..cec2ec4df2 100644
--- a/runtime/art_method.h
+++ b/runtime/art_method.h
@@ -667,6 +667,10 @@ class ArtMethod FINAL {
return hotness_count_;
}
+ static MemberOffset HotnessCountOffset() {
+ return MemberOffset(OFFSETOF_MEMBER(ArtMethod, hotness_count_));
+ }
+
ArrayRef<const uint8_t> GetQuickenedInfo() REQUIRES_SHARED(Locks::mutator_lock_);
// Returns the method header for the compiled code containing 'pc'. Note that runtime
@@ -727,6 +731,14 @@ class ArtMethod FINAL {
ALWAYS_INLINE CodeItemInstructionAccessor DexInstructions()
REQUIRES_SHARED(Locks::mutator_lock_);
+ // Returns the dex code item data section of the DexFile for the art method.
+ ALWAYS_INLINE CodeItemDataAccessor DexInstructionData()
+ REQUIRES_SHARED(Locks::mutator_lock_);
+
+ // Returns the dex code item debug info section of the DexFile for the art method.
+ ALWAYS_INLINE CodeItemDebugInfoAccessor DexInstructionDebugInfo()
+ REQUIRES_SHARED(Locks::mutator_lock_);
+
protected:
// Field order required by test "ValidateFieldOrderOfJavaCppUnionClasses".
// The class we are a part of.
@@ -753,7 +765,7 @@ class ArtMethod FINAL {
// ifTable.
uint16_t method_index_;
- // The hotness we measure for this method. Managed by the interpreter. Not atomic, as we allow
+ // The hotness we measure for this method. Not atomic, as we allow
// missing increments: if the method is hot, we will see it eventually.
uint16_t hotness_count_;
@@ -846,6 +858,9 @@ class ArtMethod FINAL {
} while (!access_flags_.compare_exchange_weak(old_access_flags, new_access_flags));
}
+ // Returns true if the given intrinsic is considered hidden.
+ bool IsHiddenIntrinsic(uint32_t ordinal);
+
DISALLOW_COPY_AND_ASSIGN(ArtMethod); // Need to use CopyFrom to deal with 32 vs 64 bits.
};