summaryrefslogtreecommitdiff
path: root/bcc/codefrag.c
diff options
context:
space:
mode:
Diffstat (limited to 'bcc/codefrag.c')
-rw-r--r--bcc/codefrag.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/bcc/codefrag.c b/bcc/codefrag.c
index 7783562..d796810 100644
--- a/bcc/codefrag.c
+++ b/bcc/codefrag.c
@@ -1619,6 +1619,18 @@ offset_T value;
outstr(name);
outset();
outshex(value);
+#ifdef FRAMEPOINTER
+#ifdef I8088
+#ifndef NO_DEL_PUSH
+ if (framep && optimise && !callersaves && value+sp-framep >= 0
+ && !(regfuse & callee1mask)) {
+ outbyte('-');
+ outstr(funcname);
+ outstr(".off");
+ }
+#endif
+#endif
+#endif
outnl();
#ifdef FRAMEPOINTER
if (framep)
@@ -1629,6 +1641,16 @@ offset_T value;
outstr(name);
outset();
outshex(value+sp-framep);
+#ifdef I8088
+#ifndef NO_DEL_PUSH
+ if (optimise && !callersaves && value+sp-framep < 0
+ && !(regfuse & callee1mask)) {
+ outbyte('+');
+ outstr(funcname);
+ outstr(".off");
+ }
+#endif
+#endif
outnl();
}
#endif