1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-07-05 09:28:54 +00:00

Z80: CALL <number> shouldn't prevent inlining

This commit is contained in:
Karol Stasiak 2018-07-31 00:59:24 +02:00
parent e0bec29318
commit 7e6f2dd4ea

View File

@ -2,7 +2,7 @@ package millfork.output
import millfork.assembly.z80._
import millfork.compiler.AbstractCompiler
import millfork.env.{ExternFunction, Label, MemoryAddressConstant, NormalFunction}
import millfork.env._
import scala.collection.GenTraversableOnce
@ -31,6 +31,7 @@ object Z80InliningCalculator extends AbstractInliningCalculator[ZLine] {
case ZLine(op, _, MemoryAddressConstant(Label(l)), _) if jumpingRelatedOpcodes(op) =>
!l.startsWith(".")
case ZLine(CALL, _, MemoryAddressConstant(th: ExternFunction), _) => false
case ZLine(CALL, _, NumericConstant(_, _), _) => false
case ZLine(JP, OneRegister(_), _, _) => false
case ZLine(CALL, _, MemoryAddressConstant(th: NormalFunction), _) =>
!functionsAlreadyKnownToBeNonInlineable(th.name)