82f9f21a50 
								
							
								 
							
						 
						
							
							
								
								vm: change some push/pop to replace/peek.  
							
							
							
						 
						
							2014-06-07 12:16:43 -07:00  
				
					
						
							
							
								 
						
							
							
								e9e1fd4e6a 
								
							
								 
							
						 
						
							
							
								
								vm: generate a to_fixnum_strict to workaround an odd io.monitors issue.  
							
							
							
						 
						
							2014-06-07 12:06:03 -07:00  
				
					
						
							
							
								 
						
							
							
								eeaa91d6c1 
								
							
								 
							
						 
						
							
							
								
								vm: using bignum>fixnum-strict in integer>fixnum-strict.  
							
							
							
						 
						
							2014-06-07 09:46:05 -07:00  
				
					
						
							
							
								 
						
							
							
								d225bec128 
								
							
								 
							
						 
						
							
							
								
								VM: CELL_TO_FOO macro-magic in the same spirit as BIGNUM_TO_FOO  
							
							... 
							
							
							
							Now also factor_vm::to_cell doesn't piggyback on
factor_vm::to_fixnum's (strict) conversion. 
							
						 
						
							2014-06-07 17:04:27 +02:00  
				
					
						
							
							
								 
						
							
							
								1300a27dca 
								
							
								 
							
						 
						
							
							
								
								VM: better version of bignum_to_fixnum_strict that doesn't allocate  
							
							
							
						 
						
							2014-06-07 13:09:00 +02:00  
				
					
						
							
							
								 
						
							
							
								a9a52d9174 
								
							
								 
							
						 
						
							
							
								
								VM: bignum_to_fixnum_strict and an accompanying vm error in case the conversion fails  
							
							
							
						 
						
							2014-06-07 12:13:59 +02:00  
				
					
						
							
							
								 
						
							
							
								03672ad938 
								
							
								 
							
						 
						
							
							
								
								VM: refactored factor_vm::unbox_array_size()  
							
							
							
						 
						
							2014-06-07 12:13:59 +02:00  
				
					
						
							
							
								 
						
							
							
								fd1dc5ce01 
								
							
								 
							
						 
						
							
							
								
								vm: formatting of sign_mask.  
							
							
							
						 
						
							2014-06-02 07:54:01 -07:00  
				
					
						
							
							
								 
						
							
							
								ffe41b3d7f 
								
							
								 
							
						 
						
							
							
								
								VM: Fixup cast formatting after clang-format  
							
							... 
							
							
							
							clang-format doesn't recognize casts to non-pointer/non-template types
so it winds up adding a space between the right paren and the expression
and then failing to recognize prefix operators in the process
(e.g. foo = (cell) & bar; should be foo = (cell)&bar;). This commit
manually fixes up the major cases (fixnum, cell, all types ending in _t). 
							
						 
						
							2013-05-13 14:59:24 -04:00  
				
					
						
							
							
								 
						
							
							
								88d7c10d03 
								
							
								 
							
						 
						
							
							
								
								VM: Replace u8-64, s8-64, cell, fixnum with stdint.h equivalents  
							
							
							
						 
						
							2013-05-13 00:28:25 -04:00  
				
					
						
							
							
								 
						
							
							
								d9e225e1dc 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor math.hpp/cpp to Factor style  
							
							
							
						 
						
							2013-05-12 13:24:46 -04:00  
				
					
						
							
							
								 
						
							
							
								ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
				
					
						
							
							
								 
						
							
							
								86649ce1c0 
								
							
								 
							
						 
						
							
							
								
								vm: More allocates comments.  
							
							
							
						 
						
							2013-03-25 14:05:05 -07:00  
				
					
						
							
							
								 
						
							
							
								dbfa185eef 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								5be15d7e3f 
								
							
								 
							
						 
						
							
							
								
								vm: more use of ctx->replace().  
							
							
							
						 
						
							2013-03-22 09:17:02 -07:00  
				
					
						
							
							
								 
						
							
							
								49a7d37dcd 
								
							
								 
							
						 
						
							
							
								
								vm: don't ctx-pop() in bignum_divmod.  
							
							
							
						 
						
							2013-03-22 08:26:01 -07:00  
				
					
						
							
							
								 
						
							
							
								9c025abc67 
								
							
								 
							
						 
						
							
							
								
								vm: use ctx->replace() with bignum and float operations.  
							
							
							
						 
						
							2013-03-22 08:00:13 -07:00  
				
					
						
							
							
								 
						
							
							
								42f4193939 
								
							
								 
							
						 
						
							
							
								
								vm: simplify a bit the fixnum_divmod code.  
							
							
							
						 
						
							2012-08-23 08:38:18 -07:00  
				
					
						
							
							
								 
						
							
							
								ed8496b583 
								
							
								 
							
						 
						
							
							
								
								vm: speed up primitive_fixnum_divmod by 10-12%.  
							
							
							
						 
						
							2012-08-22 21:46:59 -07:00  
				
					
						
							
							
								 
						
							
							
								000efd9bbb 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								91d8326b77 
								
							
								 
							
						 
						
							
							
								
								math.cpp: Fix theoretical gc bug.  
							
							
							
						 
						
							2012-08-15 01:51:58 -07:00  
				
					
						
							
							
								 
						
							
							
								22c26ff3f5 
								
							
								 
							
						 
						
							
							
								
								vm: adding bignum_gcd primitive.  
							
							
							
						 
						
							2012-04-05 09:17:35 -07:00  
				
					
						
							
							
								 
						
							
							
								4653df21cb 
								
							
								 
							
						 
						
							
							
								
								vm: remove math::bignum_producer.  
							
							
							
						 
						
							2011-10-11 21:24:38 -07:00  
				
					
						
							
							
								 
						
							
							
								afc07c0e05 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								f27080498d 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								1985705413 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								b23aac1beb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: open-code parameter boxing and unboxing for certain C types  
							
							
							
						 
						
							2010-07-19 10:25:13 -04:00  
				
					
						
							
							
								 
						
							
							
								0fd636b4b9 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
				
					
						
							
							
								 
						
							
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
				
					
						
							
							
								 
						
							
							
								288090d993 
								
							
								 
							
						 
						
							
							
								
								math.parser: expose a format-float primitive for use by formatting vocabulary  
							
							
							
						 
						
							2010-04-13 21:21:28 -07:00  
				
					
						
							
							
								 
						
							
							
								11ddbc03a4 
								
							
								 
							
						 
						
							
							
								
								vm: signal handling cleanup  
							
							
							
						 
						
							2010-03-27 07:33:28 -04:00  
				
					
						
							
							
								 
						
							
							
								747974f4ae 
								
							
								 
							
						 
						
							
							
								
								vm: nuke unused (string>float) primitive  
							
							
							
						 
						
							2010-02-08 08:16:56 +13:00  
				
					
						
							
							
								 
						
							
							
								d22eb40360 
								
							
								 
							
						 
						
							
							
								
								Fix spaces that crept into vm/ cpp files  
							
							
							
						 
						
							2010-02-06 01:06:26 -06:00  
				
					
						
							
							
								 
						
							
							
								942f6e0943 
								
							
								 
							
						 
						
							
							
								
								Update Win64 support  
							
							
							
						 
						
							2010-01-25 15:39:34 +13:00  
				
					
						
							
							
								 
						
							
							
								e4da687413 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								15eb8d1a0a 
								
							
								 
							
						 
						
							
							
								
								vm: remove VM_ASM_API  
							
							
							
						 
						
							2009-12-24 01:37:24 +13:00  
				
					
						
							
							
								 
						
							
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
				
					
						
							
							
								 
						
							
							
								ed3ab1335e 
								
							
								 
							
						 
						
							
							
								
								vm: minor fixes after code review  
							
							
							
						 
						
							2009-11-03 04:56:58 -06:00  
				
					
						
							
							
								 
						
							
							
								793d0606f6 
								
							
								 
							
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
							
								2e65366c6b 
								
							
								 
							
						 
						
							
							
								
								vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions  
							
							
							
						 
						
							2009-10-18 20:31:59 -05:00  
				
					
						
							
							
								 
						
							
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
				
					
						
							
							
								 
						
							
							
								7fef05fd76 
								
							
								 
							
						 
						
							
							
								
								Removed VM_PTR macros. All builds reentrant by default  
							
							
							
						 
						
							2009-10-14 19:14:57 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								6b7717bf37 
								
							
								 
							
						 
						
							
							
								
								forwarding functions replaced with PRIMITIVE_FORWARD() macro  
							
							
							
						 
						
							2009-09-25 20:43:01 +01:00  
				
					
						
							
							
								 
						
							
							
								e26bbbe9a0 
								
							
								 
							
						 
						
							
							
								
								removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))  
							
							
							
						 
						
							2009-09-25 20:33:38 +01:00  
				
					
						
							
							
								 
						
							
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
				
					
						
							
							
								 
						
							
							
								3b8292db8e 
								
							
								 
							
						 
						
							
							
								
								bignum indentation and macro cleanup  
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
				
					
						
							
							
								 
						
							
							
								e566656e46 
								
							
								 
							
						 
						
							
							
								
								removed a bunch of superflous blank lines  
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
				
					
						
							
							
								 
						
							
							
								46bab62689 
								
							
								 
							
						 
						
							
							
								
								misc cleanup  
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00