* src/vm/jit/patcher-common.h: Added __X86_64__ ifdef.
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Fri, 7 Sep 2007 23:50:30 +0000 (01:50 +0200)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Fri, 7 Sep 2007 23:50:30 +0000 (01:50 +0200)
commit03cec8e63a8fdb77f6717bc3a63059a56c6eef5c
tree6503b83ba4ed55936304e83ff35349acb0123333
parent464605ef6d3623ca423e8d56829100176de4f152
* src/vm/jit/patcher-common.h: Added __X86_64__ ifdef.
* src/vm/signal.c (signal_init): Likewise.
* src/vm/signallocal.h: Likewise.

* src/vm/jit/x86_64/asmpart.S (asm_patcher_wrapper): Removed.

* src/vm/jit/x86_64/codegen.c (vm/jit/patcher.h): Removed.
(vm/jit/patcher-common.h): Added.
(codegen_emit): Implemented patchers-by-signal and load data from data
segment instead of moving inline.
(codegen_emit_stub_native): Likewise.
(codegen_emit_stub_compiler): Quick hack for ALD.

* src/vm/jit/x86_64/codegen.h (PATCHER_CALL_SIZE): Changed to 2.
(PATCHER_NOPS): Likewise.
(M_ALD): Handle RIP properly.

* src/vm/jit/x86_64/emit.c (vm/jit/patcher-common.h): Added.
(emit_patcher_stubs): Removed.
(emit_trap): Emit UD2.

* src/vm/jit/x86_64/linux/md-os.c (md_signal_handler_sigill): New
function.

* src/vm/jit/x86_64/patcher.c (vm/jit/patcher.h): Removed.
(vm/jit/patcher-common.h): Added.
(patcher_wrapper): Removed.
(PATCH_BACK_ORIGINAL_MCODE): New macro.
(patcher_patch_code): New function.
(patcher_resolve_classref_to_classinfo): Likewise.
(patcher_resolve_classref_to_vftbl): Likewise.
(patcher_resolve_classref_to_flags): Likewise.
(patcher_resolve_native_function): Likewise.
(patcher_aconst): Removed.
(patcher_builtin_multianewarray): Likewise.
(patcher_builtin_arraycheckcast): Likewise.
(patcher_checkcast_instanceof_flags): Likewise.
(patcher_checkcast_class): Likewise.
(patcher_instanceof_class): Likewise.
(patcher_clinit): Likewise.
(patcher_athrow_areturn): Likewise.
(patcher_resolve_native): Likewise.
src/vm/jit/patcher-common.h
src/vm/jit/x86_64/asmpart.S
src/vm/jit/x86_64/codegen.c
src/vm/jit/x86_64/codegen.h
src/vm/jit/x86_64/emit.c
src/vm/jit/x86_64/linux/md-os.c
src/vm/jit/x86_64/patcher.c
src/vm/signal.c
src/vm/signallocal.h