projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Micro-optimize gc scavenge.
[sbcl.git]
/
src
/
runtime
/
sparc-arch.c
diff --git
a/src/runtime/sparc-arch.c
b/src/runtime/sparc-arch.c
index
aa0fef6
..
2eee865
100644
(file)
--- a/
src/runtime/sparc-arch.c
+++ b/
src/runtime/sparc-arch.c
@@
-35,6
+35,9
@@
void arch_init(void)
os_vm_address_t arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *context)
{
os_vm_address_t arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *context)
{
+#if 1 /* New way. */
+ return (os_vm_address_t)code->si_addr;
+#else /* Old way, almost certainly predates sigaction(2)-style handlers */
unsigned int badinst;
unsigned int *pc;
int rs1;
unsigned int badinst;
unsigned int *pc;
int rs1;
@@
-82,6
+85,7
@@
os_vm_address_t arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *contex
(*os_context_register_addr(context, rs1) +
*os_context_register_addr(context, rs2));
}
(*os_context_register_addr(context, rs1) +
*os_context_register_addr(context, rs2));
}
+#endif
}
void arch_skip_instruction(os_context_t *context)
}
void arch_skip_instruction(os_context_t *context)