diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2017-07-26 15:14:58 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2017-07-26 15:14:58 +0200 |
commit | c310fe9acf361dd6862d894523ff979806ac4536 (patch) | |
tree | 6f6661c3836688181eed39fff0cf90b105832a9b | |
parent | dcdd7e30645885ee5bcc44d318ee4a9a99eaea4f (diff) | |
download | compcert-c310fe9acf361dd6862d894523ff979806ac4536.tar.gz compcert-c310fe9acf361dd6862d894523ff979806ac4536.zip |
Integrated fixup code in estimated size.
12 was a too small overaproximation for call which require fixup
code for arguments and result. The new constant is 72, which
consists of 4 for the branch instruction, 16 * 4 for the arguments
and 4 for the result.
-rw-r--r-- | arm/TargetPrinter.ml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arm/TargetPrinter.ml b/arm/TargetPrinter.ml index 0626a371..60f52efd 100644 --- a/arm/TargetPrinter.ml +++ b/arm/TargetPrinter.ml @@ -767,6 +767,9 @@ struct 2 in (len + add) * 4 | Pbuiltin (EF_inline_asm _,_,_) -> 1024 (* Better be safe than sorry *) + | Pbreg _ + | Pblsymb _ + | Pblreg _ -> 72 (* 4 for branch, 4 for fixup result 4 * 16 for fixup args *) | _ -> 12 |