diff options
| author | 2015-04-28 02:04:09 +0000 | |
|---|---|---|
| committer | 2015-04-28 02:04:09 +0000 | |
| commit | 9d1e19035a59ff8bf05a09ad880ede99806ba73f (patch) | |
| tree | 7eb3c9eb01d4f581f3e354d947300547582fdd38 /compiler/optimizing/nodes.h | |
| parent | 3fd79afbb7490f52817f737ecceb694f6618dcf9 (diff) | |
| parent | 848f70a3d73833fc1bf3032a9ff6812e429661d9 (diff) | |
Merge "Replace String CharArray with internal uint16_t array."
Diffstat (limited to 'compiler/optimizing/nodes.h')
| -rw-r--r-- | compiler/optimizing/nodes.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 0533bff0b3..9e8df04cfb 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -2292,6 +2292,7 @@ class HInvokeStaticOrDirect : public HInvoke { uint32_t dex_pc, uint32_t dex_method_index, bool is_recursive, + int32_t string_init_offset, InvokeType original_invoke_type, InvokeType invoke_type, ClinitCheckRequirement clinit_check_requirement) @@ -2299,7 +2300,8 @@ class HInvokeStaticOrDirect : public HInvoke { original_invoke_type_(original_invoke_type), invoke_type_(invoke_type), is_recursive_(is_recursive), - clinit_check_requirement_(clinit_check_requirement) {} + clinit_check_requirement_(clinit_check_requirement), + string_init_offset_(string_init_offset) {} bool CanDoImplicitNullCheckOn(HInstruction* obj) const OVERRIDE { UNUSED(obj); @@ -2312,6 +2314,8 @@ class HInvokeStaticOrDirect : public HInvoke { InvokeType GetInvokeType() const { return invoke_type_; } bool IsRecursive() const { return is_recursive_; } bool NeedsDexCache() const OVERRIDE { return !IsRecursive(); } + bool IsStringInit() const { return string_init_offset_ != 0; } + int32_t GetStringInitOffset() const { return string_init_offset_; } // Is this instruction a call to a static method? bool IsStatic() const { @@ -2367,6 +2371,9 @@ class HInvokeStaticOrDirect : public HInvoke { const InvokeType invoke_type_; const bool is_recursive_; ClinitCheckRequirement clinit_check_requirement_; + // Thread entrypoint offset for string init method if this is a string init invoke. + // Note that there are multiple string init methods, each having its own offset. + int32_t string_init_offset_; DISALLOW_COPY_AND_ASSIGN(HInvokeStaticOrDirect); }; |