Revu compilation du Lswitch pour contourner un bug de l'assembleur (pas de .gpword sur un label defini en arriere)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2349 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
1fe54415e8
commit
ad5f095034
|
@ -425,13 +425,12 @@ let emit_instr i =
|
|||
let lbl_jumptbl = new_label() in
|
||||
` sll $24, {emit_reg i.arg.(0)}, 2\n`;
|
||||
` lw $24, {emit_label lbl_jumptbl}($24)\n`;
|
||||
` .cpadd $24\n`;
|
||||
liveregs i live_24;
|
||||
` j $24\n`;
|
||||
` .rdata\n`;
|
||||
`{emit_label lbl_jumptbl}:\n`;
|
||||
for i = 0 to Array.length jumptbl - 1 do
|
||||
` .gpword {emit_label jumptbl.(i)}\n`
|
||||
` .word {emit_label jumptbl.(i)}\n`
|
||||
done;
|
||||
` .text\n`
|
||||
| Lsetuptrap lbl ->
|
||||
|
|
Loading…
Reference in New Issue