summaryrefslogtreecommitdiffstats
path: root/compiler/dex/quick/mir_to_lir.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-04-22 11:51:52 +0100
committerVladimir Marko <vmarko@google.com>2015-04-22 13:20:21 +0100
commitfac10700fd99516e8a14f751fe35553021ce6982 (patch)
tree38030555c6644ee7207daafad81563c34ad3c208 /compiler/dex/quick/mir_to_lir.h
parentf888d5d6584efb66ecd9eed94879679a65712336 (diff)
downloadart-fac10700fd99516e8a14f751fe35553021ce6982.zip
art-fac10700fd99516e8a14f751fe35553021ce6982.tar.gz
art-fac10700fd99516e8a14f751fe35553021ce6982.tar.bz2
Quick: Remove broken Mir2Lir::LocToRegClass().
Its use in intrinsics has been bogus. In all other instances it's been used under the assumption that the inferred type matches the return type of associated calls. However, if the type inference identifies a type mismatch, the assumption doesn't hold and there isn't necessarily a valid value that the function could reasonably return. Bug: 19918641 Change-Id: I050934e6f9eb00427d0b888ee29ae9eeb509bb3f
Diffstat (limited to 'compiler/dex/quick/mir_to_lir.h')
-rw-r--r--compiler/dex/quick/mir_to_lir.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/dex/quick/mir_to_lir.h b/compiler/dex/quick/mir_to_lir.h
index db59714..f9efe37 100644
--- a/compiler/dex/quick/mir_to_lir.h
+++ b/compiler/dex/quick/mir_to_lir.h
@@ -634,7 +634,6 @@ class Mir2Lir {
}
RegisterClass ShortyToRegClass(char shorty_type);
- RegisterClass LocToRegClass(RegLocation loc);
int ComputeFrameSize();
void Materialize();
virtual CompiledMethod* GetCompiledMethod();
@@ -846,7 +845,8 @@ class Mir2Lir {
RegLocation rl_src, int lit);
virtual void GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest,
RegLocation rl_src1, RegLocation rl_src2, int flags);
- void GenConversionCall(QuickEntrypointEnum trampoline, RegLocation rl_dest, RegLocation rl_src);
+ void GenConversionCall(QuickEntrypointEnum trampoline, RegLocation rl_dest, RegLocation rl_src,
+ RegisterClass return_reg_class);
void GenSuspendTest(int opt_flags);
void GenSuspendTestAndBranch(int opt_flags, LIR* target);
@@ -954,7 +954,7 @@ class Mir2Lir {
virtual bool GenInlinedIndexOf(CallInfo* info, bool zero_based);
bool GenInlinedStringCompareTo(CallInfo* info);
virtual bool GenInlinedCurrentThread(CallInfo* info);
- bool GenInlinedUnsafeGet(CallInfo* info, bool is_long, bool is_volatile);
+ bool GenInlinedUnsafeGet(CallInfo* info, bool is_long, bool is_object, bool is_volatile);
bool GenInlinedUnsafePut(CallInfo* info, bool is_long, bool is_object,
bool is_volatile, bool is_ordered);