summaryrefslogtreecommitdiffstats
path: root/compiler/dex/compiler_enums.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-03-19 10:17:28 -0700
committerMathieu Chartier <mathieuc@google.com>2014-03-19 15:12:04 -0700
commit0d507d1e0441e6bd6f3affca3a60774ea920f317 (patch)
treee07c72972b893e5fc57294b7a6a329cb9985a52c /compiler/dex/compiler_enums.h
parent0d9c02e661813abdf18b4e7544e204d2da719d20 (diff)
downloadandroid_art-0d507d1e0441e6bd6f3affca3a60774ea920f317.tar.gz
android_art-0d507d1e0441e6bd6f3affca3a60774ea920f317.tar.bz2
android_art-0d507d1e0441e6bd6f3affca3a60774ea920f317.zip
Optimize stack overflow handling.
We now subtract the frame size from the stack pointer for methods which have a frame smaller than a certain size. Also changed code to use slow paths instead of launchpads. Delete kStackOverflow launchpad since it is no longer needed. ARM optimizations: One less move per stack overflow check (without fault handler for stack overflows). Use ldr pc instead of ldr r12, b r12. Code size (boot.oat): Before: 58405348 After: 57803236 TODO: X86 doesn't have the case for large frames. This could case an incoming signal to go past the end of the stack (unlikely however). Change-Id: Ie3a5635cd6fb09de27960e1f8cee45bfae38fb33
Diffstat (limited to 'compiler/dex/compiler_enums.h')
-rw-r--r--compiler/dex/compiler_enums.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/compiler/dex/compiler_enums.h b/compiler/dex/compiler_enums.h
index 147e840166..718468fb77 100644
--- a/compiler/dex/compiler_enums.h
+++ b/compiler/dex/compiler_enums.h
@@ -328,7 +328,6 @@ enum ThrowKind {
kThrowArrayBounds,
kThrowConstantArrayBounds,
kThrowNoSuchMethod,
- kThrowStackOverflow,
};
enum DividePattern {