Slava Pestov
0abdfbfc1b
compiler.cfg: open-code parameter boxing and unboxing for certain C types
2010-07-19 10:25:13 -04:00
Slava Pestov
bbcffab3fa
compiler.cfg: ##unbox-long-long can have multiple outputs now, clean up long long parameter passing code using this
2010-07-15 19:49:29 -04:00
Slava Pestov
bcf7a5e15e
Use ##local-allot to simplify longlong unboxing
2010-05-19 01:07:22 -04:00
Slava Pestov
b40cd01828
vm: fix compile error
2010-05-11 19:29:50 -04:00
Slava Pestov
1453154376
vm: remove VM_ASM_API
2009-12-24 01:37:24 +13:00
Slava Pestov
a942e2c34d
vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler
2009-12-19 10:59:56 +13:00
Slava Pestov
2d0a36804f
vm: various minor optimizations speeding up gc0 and dispatch1 benchmarks, as well as bootstrap
...
- make allot_object() inline, move slow case to allot_large_object()
- reduce number of conditional branches in megamorphic cache miss handler
- make unbox_array_size() inline, move slow case to unbox_array_size_slow()
- new memset_cell() function uses memset_pattern4/8() on Mac OS X
2009-10-31 02:30:48 -05:00
Phil Dawes
a514f79d3c
inlineimpl.hpp is toast
2009-09-29 19:53:10 +01:00
Phil Dawes
63266524d7
Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp
2009-09-27 19:42:18 +01:00
Phil Dawes
e6048ed076
removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))
2009-09-25 20:33:38 +01:00
Phil Dawes
1c5329cc2e
renamed factorvm to factor_vm
2009-09-24 08:16:52 +01:00
Phil Dawes
57ffdae57f
asm math functions pass vm ptr to overflow function in 3rd arg (X86.32)
2009-09-16 08:22:17 +01:00
Phil Dawes
12412303a5
Added vm ptr to math overflow functions
2009-09-16 08:22:17 +01:00
Phil Dawes
4d6294693d
removed all vm-> singleton accesses from inlineimpls
2009-09-16 08:16:33 +01:00
Phil Dawes
49e3efddfb
converted box_* float functions to use vm (x86 win32)
2009-09-16 08:16:33 +01:00
Phil Dawes
e50ab40c78
converted box_* integer functions to use vm (x86 windows)
2009-09-16 08:16:33 +01:00
Phil Dawes
780415b159
added code to pass vm ptr to some unboxers
2009-09-16 08:16:32 +01:00
Phil Dawes
c4b2468cb2
removed some global functions from math.cpp
2009-09-16 08:16:28 +01:00
Phil Dawes
1c02e9eda0
moved more math.hpp inline functions to vm
2009-09-16 08:16:25 +01:00
Phil Dawes
6c566717ba
moved global state from math into vm
2009-09-16 08:16:24 +01:00
Phil Dawes
2bf80c0bf6
moved math.hpp inline functions to vm.hpp
2009-09-16 08:16:23 +01:00
Phil Dawes
f3e67817cc
moved math.hpp functions to vm
2009-09-16 08:16:22 +01:00
Slava Pestov
92ae2f7e71
VM cleanup: replace some #defines with constants and inline functions
2009-05-08 15:05:55 -05:00
Slava Pestov
ec943c2299
Change (void) to ()
2009-05-05 11:33:35 -05:00
Slava Pestov
7c0a59f7a9
The great type renaming
2009-05-04 04:50:24 -05:00
Slava Pestov
7f48eb2b2c
Use C++ namespaces
2009-05-04 01:46:13 -05:00
Slava Pestov
1857f90eb6
VM: use better abstractions for tagged pointers, eliminate get()/set() stuff, clean up array, string, and byte-array element access
2009-05-04 01:00:30 -05:00
Slava Pestov
dfaa338af7
Clean up untag_* and tag_* inline functions in favor of more idiomatic C++
2009-05-02 20:47:29 -05:00
Slava Pestov
938d1a4270
Move vmpp to vm
2009-05-02 20:37:18 -05:00