Doug Coleman
22ccd593b0
vm: More allocates comments.
2013-03-25 14:05:05 -07:00
Doug Coleman
0182c9970a
vm: Standardize /* Allocates memory */ comments so you can grep -A1
...
and see if a function allocates for easier debugging of the gc.
A couple of the functions were not yet annotated.
2013-03-25 12:00:18 -07:00
John Benediktsson
e94b56c2c7
vm: more use of ctx->replace().
2013-03-22 09:17:02 -07:00
John Benediktsson
78dd5c4254
vm: don't ctx-pop() in bignum_divmod.
2013-03-22 08:26:01 -07:00
John Benediktsson
412bc8cf27
vm: use ctx->replace() with bignum and float operations.
2013-03-22 08:00:13 -07:00
John Benediktsson
1c7dd3050f
vm: simplify a bit the fixnum_divmod code.
2012-08-23 08:38:18 -07:00
John Benediktsson
6527464b70
vm: speed up primitive_fixnum_divmod by 10-12%.
2012-08-22 21:46:59 -07:00
Doug Coleman
dd8b4a1d77
vm: Add messages about things that can allocate. Fix a gc bug in the primitive for quotation-code.
2012-08-15 21:30:55 -07:00
Doug Coleman
d8e5f27934
math.cpp: Fix theoretical gc bug.
2012-08-15 01:51:58 -07:00
John Benediktsson
629677b772
vm: adding bignum_gcd primitive.
2012-04-05 09:17:35 -07:00
John Benediktsson
58765c31d5
vm: remove math::bignum_producer.
2011-10-11 21:24:38 -07:00
John Benediktsson
da21f5ca61
io.binary: make le> and be> faster (20% and 75%, respectively).
...
Removed primitive byte-array>bignum and digit_stream_to_bignum from vm/.
2011-10-11 21:13:30 -07:00
Slava Pestov
b0b5f3ac97
Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float
2010-11-24 22:41:15 -08:00
Slava Pestov
f3dfae04ba
compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths
2010-08-13 23:59:19 -07:00
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
5054bb4b25
FFI rewrite part 4: parameter and return value unboxing redesign
2010-05-11 19:11:44 -04:00
Slava Pestov
775dbefdbc
math.parser: expose a format-float primitive for use by formatting vocabulary
2010-04-13 21:21:28 -07:00
Slava Pestov
370718e9a4
vm: signal handling cleanup
2010-03-27 07:33:28 -04:00
Slava Pestov
18ed2d8c69
vm: nuke unused (string>float) primitive
2010-02-08 08:16:56 +13:00
Doug Coleman
8c492088a2
Fix spaces that crept into vm/ cpp files
2010-02-06 01:06:26 -06:00
Slava Pestov
0e0b750e7d
Update Win64 support
2010-01-25 15:39:34 +13:00
Slava Pestov
edb1346239
vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile.
2010-01-17 03:43:22 +13: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
363bdf8425
vm: minor fixes after code review
2009-11-03 04:56:58 -06: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
Slava Pestov
89612b7f31
vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions
2009-10-18 20:31:59 -05:00
Slava Pestov
f0a1a3ce5b
vm: rename F to false_object, and rename T to true_object
2009-10-18 20:26:21 -05:00
Phil Dawes
0b2db4018a
Removed VM_PTR macros. All builds reentrant by default
2009-10-14 19:14:57 +01:00
Phil Dawes
63266524d7
Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp
2009-09-27 19:42:18 +01:00
Phil Dawes
c495640cc5
forwarding functions replaced with PRIMITIVE_FORWARD() macro
2009-09-25 20:43:01 +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
0022f5c45f
bignum indentation and macro cleanup
2009-09-24 08:02:14 +01:00
Phil Dawes
2cfb1b6f02
removed a bunch of superflous blank lines
2009-09-24 08:02:14 +01:00
Phil Dawes
134a359353
misc cleanup
2009-09-24 08:02:14 +01:00
Phil Dawes
3da9b64c73
renamed vmprim_ to primitive_
2009-09-24 08:02:13 +01:00
Phil Dawes
644adc42b6
Don't return functions returning void. -O3 seems to optimize them out!
2009-09-16 08:22:17 +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
898f5be1e0
quick test vocab for mt stuff
2009-09-16 08:20:50 +01:00
Phil Dawes
26586c24f0
added vm passing to some alien/boxing functions and added some vm asserts
2009-09-16 08:20:10 +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
e80c9f90d6
updated function ptr calls (iterators etc..) to take a vm parameter
2009-09-16 08:16:25 +01:00