summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2017-02-23 16:18:41 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2017-02-27 23:13:20 +0000
commitcd0b27287843cfd904dd163056322579ab4bbf27 (patch)
treee5e1f0a8cae1f8d604123a72e3377528e4e4f333 /compiler/optimizing/nodes.h
parent0fc3e418428f9f29a52c1dd60b1d86c71eb00d18 (diff)
Intrinsify Integer.valueOf.
Improves performance of ArrayListStress and Ritz by ~10% and ~3%. Test: test-art-host test-art-target bug: 30933338 Change-Id: I639046e3a18dae50069d3a7ecb538a900bb590a1
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 8a9e61875a..c39aed2c6a 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1914,6 +1914,9 @@ class HInstruction : public ArenaObject<kArenaAllocInstruction> {
virtual bool IsControlFlow() const { return false; }
+ // Can the instruction throw?
+ // TODO: We should rename to CanVisiblyThrow, as some instructions (like HNewInstance),
+ // could throw OOME, but it is still OK to remove them if they are unused.
virtual bool CanThrow() const { return false; }
bool CanThrowIntoCatchBlock() const { return CanThrow() && block_->IsTryBlock(); }