Speedup overload resolution by calling less into C, more efficient finding of the viable methods
authorTobias Rautenkranz <tobias@rautenkranz.ch>
local dateMon, 22 Jun 2009 14:18:08
dateMon, 22 Jun 2009 12:18:08
hash20090622121808-f890f-19d2811e4f293fc19589d82530ab32c93938d20c.gz
Speedup overload resolution by calling less into C, more efficient finding of the viable methods

Ignore-this: e934dfc5117a6efc2ece3811dbccc9bc
and various optimizations.
This breaks Clozure CL -- fix it later.
27 file(s) changed:
CMakeLists.txt +0 -1
examples [removed dir]
examples/CMakeLists.txt [removed]
examples/kde-hello-world.cpp [removed]
src/bindings.lisp +43 -0
src/class-map.lisp +3 -3
src/clos.lisp +77 -54
src/method.lisp +17 -14
src/object-map.lisp +10 -16
src/objects/class.lisp +62 -34
src/objects/method.lisp +95 -67
src/objects/object.lisp +2 -22
src/objects/stack.lisp +22 -6
src/objects/type.lisp +67 -37
src/overload-resolution.lisp +184 -115
src/package.lisp +0 -1
src/smoke-c/cl_smoke.h +14 -1
src/smoke-c/class.lisp +0 -7
src/smoke-c/csmokebinding.cpp +4 -6
src/smoke-c/csmokebinding.h +2 -3
src/smoke-c/method.lisp +1 -40
src/smoke-c/smoke-c.cpp +66 -235
src/smoke-c/smoke-c.lisp +19 -7
src/smoke-c/type.lisp +0 -8
src/smoke.lisp +88 -65
src/using-type.lisp +6 -2
test.lisp +4 -2