Index: src/interpreter/bytecode-peephole-optimizer.h |
diff --git a/src/interpreter/bytecode-peephole-optimizer.h b/src/interpreter/bytecode-peephole-optimizer.h |
index 4f2cd1895d88f212ee49abc58b4efb37ea4c1e8e..95de51c3ea19b5793dc381ba1aad5e81d5b1801a 100644 |
--- a/src/interpreter/bytecode-peephole-optimizer.h |
+++ b/src/interpreter/bytecode-peephole-optimizer.h |
@@ -29,12 +29,18 @@ class BytecodePeepholeOptimizer final : public BytecodePipelineStage, |
private: |
BytecodeNode* Optimize(BytecodeNode* current); |
- void UpdateLastAndCurrentBytecodes(BytecodeNode* const current); |
+ void TryToRemoveLastExpressionPosition(const BytecodeNode* const current); |
+ bool TransformLastAndCurrentBytecodes(BytecodeNode* const current); |
bool CanElideCurrent(const BytecodeNode* const current) const; |
bool CanElideLast(const BytecodeNode* const current) const; |
bool CanElideLastBasedOnSourcePosition( |
const BytecodeNode* const current) const; |
+ // Simple substitution methods. |
+ bool RemoveToBooleanFromJump(BytecodeNode* const current); |
+ bool RemoveToBooleanFromLogicalNot(BytecodeNode* const current); |
+ bool ChangeLdaToLdr(BytecodeNode* const current); |
+ |
void InvalidateLast(); |
bool LastIsValid() const; |
void SetLast(const BytecodeNode* const node); |