diff options
Diffstat (limited to 'runtime/verifier/instruction_flags.h')
-rw-r--r-- | runtime/verifier/instruction_flags.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/runtime/verifier/instruction_flags.h b/runtime/verifier/instruction_flags.h index 9b2e595b9d..e50ba13932 100644 --- a/runtime/verifier/instruction_flags.h +++ b/runtime/verifier/instruction_flags.h @@ -93,6 +93,21 @@ class InstructionFlags { return IsVisited() || IsChanged(); } + void SetReturn() { + flags_ |= 1 << kReturn; + } + void ClearReturn() { + flags_ &= ~(1 << kReturn); + } + bool IsReturn() const { + return (flags_ & (1 << kReturn)) != 0; + } + + void SetCompileTimeInfoPointAndReturn() { + SetCompileTimeInfoPoint(); + SetReturn(); + } + std::string ToString() const; private: @@ -108,6 +123,8 @@ class InstructionFlags { kBranchTarget = 3, // Location of interest to the compiler for GC maps and verifier based method sharpening. kCompileTimeInfoPoint = 4, + // A return instruction. + kReturn = 5, }; // Size of instruction in code units. |