* src/vm/builtin.c: Added fast_subtype_check.
authorStefan Ring <stefan@complang.tuwien.ac.at>
Mon, 9 Jun 2008 19:52:41 +0000 (21:52 +0200)
committerStefan Ring <stefan@complang.tuwien.ac.at>
Mon, 9 Jun 2008 19:52:41 +0000 (21:52 +0200)
commit379b5174fe84032788ca01500dd4ae9b96ee9b57
tree54b92a6bdb1f551abd32ecdbaf9e3e6b91114085
parent1ee8a33340b05d12823c517aa961152e40426432
* src/vm/builtin.c: Added fast_subtype_check.
(builtin_fast_canstore, builtin_fast_canstore_onedim,
builtin_fast_canstore_onedim_class): Using fast subtype check. Don't need
to lock linker_classrenumber_lock anymore.
* src/vm/builtin.h: Added fast_subtype_check.

* src/vm/jit/emit-common.h: Added more branch labels.

* src/vm/jit/x86_64/codegen.c (gen_method): New subtype checking code.
* src/vm/jit/x86_64/codegen.h: Added some new mnemonics.
* src/vm/jit/x86_64/emit.c: New mnemonics.
(emit_classcast_check): New branch modes.
* src/vm/jit/x86_64/emit.h: New mnemonics.
* src/vmcore/class.c (class_isanysubclass): Using fast_subtype_check.

* src/vmcore/linker.c: Removed linker_classrenumber_lock.
(build_display): Implemented.
(link_class_intern, link_array, linker_compute_subclasses): Minor changes.

* src/vmcore/linker.h: Removed linker_compute_subclasses.
Added subtype-related fields to _vftbl.

* src/cacaoh/dummy.c: Added fast_subtype_check (link dependency).

--HG--
branch : subtype
src/cacaoh/dummy.c
src/vm/builtin.c
src/vm/builtin.h
src/vm/jit/emit-common.h
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/emit.h
src/vmcore/class.c
src/vmcore/linker.c
src/vmcore/linker.h