summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1997-07-30 01:21:34 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1997-07-30 01:21:34 +0000
commit987344133e80add9e30307aed3c60463bf1ae59c (patch)
treebe7c4ac7bce9951772c2fbbda579a843459f38b7
parentd94d8a8f40b4f5295672be3c197d327ebd9137cf (diff)
Meilleur code genere pour Ialloc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--asmcomp/alpha/emit.mlp7
1 files changed, 1 insertions, 6 deletions
diff --git a/asmcomp/alpha/emit.mlp b/asmcomp/alpha/emit.mlp
index fa437382d..94b081f40 100644
--- a/asmcomp/alpha/emit.mlp
+++ b/asmcomp/alpha/emit.mlp
@@ -495,12 +495,7 @@ let emit_instr i =
gc_return_lbl = lbl_redo;
gc_frame = lbl_frame;
gc_instr = i } :: !call_gc_sites;
- if is_immediate n then
- `{emit_label lbl_redo}: subq $13, {emit_int n}, $13\n`
- else begin
- `{emit_label lbl_redo}: ldiq $25, {emit_int n}\n`;
- ` subq $13, $25, $13\n`
- end;
+ `{emit_label lbl_redo}: lda $13, -{emit_int n}($13)\n`;
` cmpult $13, $14, $25\n`;
` bne $25, {emit_label lbl_call_gc}\n`;
` addq $13, 8, {emit_reg i.res.(0)}\n`