* src/vm/builtin.c (builtin_canstore): Throw an ArrayStoreException.
authorMichael Starzinger <michi@complang.tuwien.ac.at>
Mon, 3 Sep 2007 13:15:14 +0000 (15:15 +0200)
committerMichael Starzinger <michi@complang.tuwien.ac.at>
Mon, 3 Sep 2007 13:15:14 +0000 (15:15 +0200)
commit4d752760c14baff33c0ae90bcd71c9975a03692d
treecd1dd75918bc122fa598fad0d2a0c1a1c3b7fecc
parenta696506738b92443690409db7f2160d456a43f92
* src/vm/builtin.c (builtin_canstore): Throw an ArrayStoreException.
(builtin_fast_canstore): Do not throw any exceptions.

* src/vm/builtin.h (BUILTIN_canstore): Removed.

* src/vm/builtintable.inc: Adapted entry for builtin_canstore.

* src/vm/exceptions.h (EXCEPTION_HARDWARE_ARRAYSTORE): Added.

* src/vm/signal.c (signal_handle): Added case for ArrayStoreException.

* src/vm/jit/emit-common.h (emit_arraystore_check): Added prototype.

* src/vm/jit/stack.c (stack_analyse): ICMD_AASTORE now uses fast canstore.

* src/vm/jit/alpha/codegen.c (codegen_emit): ICMD_AASTORE uses fast canstore.
* src/vm/jit/alpha/emit.c (emit_arraystore_check): Implemented.

* src/vm/jit/arm/codegen.c: Likewise.
* src/vm/jit/arm/emit.c: Likewise.
* src/vm/jit/i386/codegen.c: Likewise.
* src/vm/jit/i386/emit.c: Likewise.
* src/vm/jit/m68k/codegen.c: Likewise.
* src/vm/jit/m68k/emit.c: Likewise.
* src/vm/jit/mips/codegen.c: Likewise.
* src/vm/jit/mips/emit.c: Likewise.
* src/vm/jit/powerpc/codegen.c: Likewise.
* src/vm/jit/powerpc/emit.c: Likewise.
* src/vm/jit/powerpc64/codegen.c: Likewise.
* src/vm/jit/powerpc64/emit.c: Likewise.
* src/vm/jit/s390/codegen.c: Likewise.
* src/vm/jit/s390/emit.c: Likewise.
* src/vm/jit/sparc64/codegen.c: Likewise.
* src/vm/jit/sparc64/emit.c: Likewise.
* src/vm/jit/x86_64/codegen.c: Likewise.
* src/vm/jit/x86_64/emit.c: Likewise.
27 files changed:
src/vm/builtin.c
src/vm/builtin.h
src/vm/builtintable.inc
src/vm/exceptions.h
src/vm/jit/alpha/codegen.c
src/vm/jit/alpha/emit.c
src/vm/jit/arm/codegen.c
src/vm/jit/arm/emit.c
src/vm/jit/emit-common.h
src/vm/jit/i386/codegen.c
src/vm/jit/i386/emit.c
src/vm/jit/m68k/codegen.c
src/vm/jit/m68k/emit.c
src/vm/jit/mips/codegen.c
src/vm/jit/mips/emit.c
src/vm/jit/powerpc/codegen.c
src/vm/jit/powerpc/emit.c
src/vm/jit/powerpc64/codegen.c
src/vm/jit/powerpc64/emit.c
src/vm/jit/s390/codegen.c
src/vm/jit/s390/emit.c
src/vm/jit/sparc64/codegen.c
src/vm/jit/sparc64/emit.c
src/vm/jit/stack.c
src/vm/jit/x86_64/codegen.c
src/vm/jit/x86_64/emit.c
src/vm/signal.c