pike.git/
src/
code/
amd64.c
Branch:
Tag:
Non-build tags
All tags
No tags
2012-06-19
2012-06-19 21:27:27 by Henrik Grubbström (Grubba) <grubba@grubba.org>
fd1b5a900988674e0e7d9c4ba95d98e045317f9e (
5
lines) (+
5
/-
0
)
[
Show
|
Annotate
]
Branch:
7.9
Compiler (amd64): Make sure the fp_reg is loaded before use.
1881:
case F_ASSIGN_LOCAL: ins_debug_instr_prologue(a-F_OFFSET, b, 0);
+
amd64_load_sp_reg();
amd64_assign_local(b); add_reg_imm_reg(sp_reg, -sizeof(struct svalue), ARG1_REG); amd64_ref_svalue(ARG1_REG, 0);
2184:
{ LABELS(); ins_debug_instr_prologue(a-F_OFFSET, b, 0);
+
amd64_load_fp_reg();
mov_mem_reg( fp_reg, OFFSETOF(pike_frame, locals), ARG1_REG); add_reg_imm( ARG1_REG, b*sizeof(struct svalue) );
2207:
{ LABELS(); ins_debug_instr_prologue(a-F_OFFSET, b, 0);
+
amd64_load_fp_reg();
mov_mem_reg( fp_reg, OFFSETOF(pike_frame, locals), ARG1_REG); add_reg_imm( ARG1_REG, b*sizeof(struct svalue) ); add_reg_imm_reg( ARG1_REG,(c-b)*sizeof(struct svalue), ARG2_REG );
2238:
case F_ASSIGN_LOCAL_NUMBER_AND_POP: ins_debug_instr_prologue(a-F_OFFSET, b, 0);
+
amd64_load_fp_reg();
mov_mem_reg( fp_reg, OFFSETOF(pike_frame, locals), ARG1_REG); add_reg_imm( ARG1_REG,b*sizeof(struct svalue) ); mov_reg_reg( ARG1_REG, REG_RBX );