mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-25 12:40:26 +02:00
IA64: Force sync of instructions in get-jit-size build mode.
This commit is contained in:
parent
0ad5e08ee5
commit
ff73547603
3 changed files with 16 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2013-10-28 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
|
* lib/jit_ia64.c: Minor change to force collecting the maximum
|
||||||
|
instruction length in the --enable-devel-get-jit-size build
|
||||||
|
mode. The actual generated file did not change because the
|
||||||
|
sampling was large enough that it had already collected proper
|
||||||
|
information in the previously slightly buggy code (not forcing
|
||||||
|
a sync of the instructions that could be combined).
|
||||||
|
|
||||||
2013-10-27 Paulo Andrade <pcpa@gnu.org>
|
2013-10-27 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
* lib/jit_arm.c: Correct build when disassembler is
|
* lib/jit_arm.c: Correct build when disassembler is
|
||||||
|
|
|
@ -849,16 +849,14 @@ _emit_code(jit_state_t *_jit)
|
||||||
patch(word, node); \
|
patch(word, node); \
|
||||||
} \
|
} \
|
||||||
break
|
break
|
||||||
#if GET_JIT_SIZE
|
|
||||||
/* default of 64 bytes is too low for some possible
|
|
||||||
* quite long code generation sequences, e.g. qdivi */
|
|
||||||
_jitc->code.end = _jit->code.ptr + _jit->code.length - 4096;
|
|
||||||
#endif
|
|
||||||
for (node = _jitc->head; node; node = node->next) {
|
for (node = _jitc->head; node; node = node->next) {
|
||||||
if (_jit->pc.uc >= _jitc->code.end)
|
if (_jit->pc.uc >= _jitc->code.end)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|
||||||
value = jit_classify(node->code);
|
value = jit_classify(node->code);
|
||||||
|
#if GET_JIT_SIZE
|
||||||
|
sync();
|
||||||
|
#endif
|
||||||
jit_regarg_set(node, value);
|
jit_regarg_set(node, value);
|
||||||
switch (node->code) {
|
switch (node->code) {
|
||||||
case jit_code_note: case jit_code_name:
|
case jit_code_note: case jit_code_name:
|
||||||
|
@ -1334,6 +1332,9 @@ _emit_code(jit_state_t *_jit)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if GET_JIT_SIZE
|
||||||
|
sync();
|
||||||
|
#endif
|
||||||
jit_regarg_clr(node, value);
|
jit_regarg_clr(node, value);
|
||||||
/* update register live state */
|
/* update register live state */
|
||||||
jit_reglive(node);
|
jit_reglive(node);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue