summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-07-20 16:13:41 +0200
committerBenoit Lamarche <benoitlamarche@google.com>2015-07-20 16:13:41 +0200
commit50f041d5328a9bb084a7a3b637a5162f1220ed45 (patch)
tree9294eb7e1f4115aff8f56b43c25c5512fa11c995
parent778812bfdb6d754db747786d9986d7a608e596bb (diff)
downloadtoolchain_jack-50f041d5328a9bb084a7a3b637a5162f1220ed45.zip
toolchain_jack-50f041d5328a9bb084a7a3b637a5162f1220ed45.tar.gz
toolchain_jack-50f041d5328a9bb084a7a3b637a5162f1220ed45.tar.bz2
Do not emit debug info for synthetic variables coming from Jill
Bug: 22491084 Change-Id: I398f63fa10e3cf2ba2f032dae713a967709c8faf
-rw-r--r--jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java b/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java
index 18f47bc..8b0d1e2 100644
--- a/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java
+++ b/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java
@@ -132,7 +132,7 @@ class RopRegisterManager {
JType type = var.getType();
Type dexRegType = RopHelper.convertTypeToDx(type);
RegisterSpec reg;
- if (emitDebugInfo && (emitSyntheticDebugInfo || !var.isSynthetic()) && var.getName() != null) {
+ if (emitDebugInfo && var.getName() != null && (emitSyntheticDebugInfo || !isSynthetic(var))) {
CstString cstSignature = null;
GenericSignature infoMarker = var.getMarker(GenericSignature.class);
if (infoMarker != null) {
@@ -151,6 +151,12 @@ class RopRegisterManager {
return (reg);
}
+ private boolean isSynthetic(@Nonnull JVariable var) {
+ return var.isSynthetic()
+ || var.getName().startsWith("-p_") || var.getName().startsWith("-l_")
+ || var.getName().startsWith("-s_") || var.getName().startsWith("-e_");
+ }
+
/**
* Get a {@code RegisterSpec} from a {@code JVariableRef}.
*