Commit Graph

38 Commits (master)

Author SHA1 Message Date
Alexander Iljin 0d57734dab vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
Björn Lindqvist 10ac4da0f6 VM: fixes to make some if-else statements read better 2016-03-31 00:37:59 +02:00
John Benediktsson e9e1fd4e6a vm: generate a to_fixnum_strict to workaround an odd io.monitors issue. 2014-06-07 12:06:03 -07:00
Björn Lindqvist 03672ad938 VM: refactored factor_vm::unbox_array_size() 2014-06-07 12:13:59 +02:00
Erik Charlebois 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
Erik Charlebois 88d7c10d03 VM: Replace u8-64, s8-64, cell, fixnum with stdint.h equivalents 2013-05-13 00:28:25 -04:00
Erik Charlebois d9e225e1dc VM: Refactor math.hpp/cpp to Factor style 2013-05-12 13:24:46 -04:00
Doug Coleman 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
Slava Pestov 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
Slava Pestov b23aac1beb compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
Slava Pestov 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
Slava Pestov 91cd3b854d Use ##local-allot to simplify longlong unboxing 2010-05-19 01:07:22 -04:00
Slava Pestov 7d62376e24 vm: fix compile error 2010-05-11 19:29:50 -04:00
Slava Pestov 15eb8d1a0a vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
Slava Pestov 63edd20a55 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 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
Phil Dawes 3a88d8c49e inlineimpl.hpp is toast 2009-09-29 19:53:10 +01:00
Phil Dawes 9b7412b8f8 Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp 2009-09-27 19:42:18 +01:00
Phil Dawes e26bbbe9a0 removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3)) 2009-09-25 20:33:38 +01:00
Phil Dawes 83b0769eef renamed factorvm to factor_vm 2009-09-24 08:16:52 +01:00
Phil Dawes deb7af70bb asm math functions pass vm ptr to overflow function in 3rd arg (X86.32) 2009-09-16 08:22:17 +01:00
Phil Dawes 67ac514a3b Added vm ptr to math overflow functions 2009-09-16 08:22:17 +01:00
Phil Dawes 7759b89de9 removed all vm-> singleton accesses from inlineimpls 2009-09-16 08:16:33 +01:00
Phil Dawes a39bf2f8e2 converted box_* float functions to use vm (x86 win32) 2009-09-16 08:16:33 +01:00
Phil Dawes 199fba7a99 converted box_* integer functions to use vm (x86 windows) 2009-09-16 08:16:33 +01:00
Phil Dawes ff54a57eb3 added code to pass vm ptr to some unboxers 2009-09-16 08:16:32 +01:00
Phil Dawes fc5c51e2cd removed some global functions from math.cpp 2009-09-16 08:16:28 +01:00
Phil Dawes 75c81af691 moved more math.hpp inline functions to vm 2009-09-16 08:16:25 +01:00
Phil Dawes efa974f025 moved global state from math into vm 2009-09-16 08:16:24 +01:00
Phil Dawes 9e23e41267 moved math.hpp inline functions to vm.hpp 2009-09-16 08:16:23 +01:00
Phil Dawes ae5c0fbfb2 moved math.hpp functions to vm 2009-09-16 08:16:22 +01:00
Slava Pestov 3bf8134476 VM cleanup: replace some #defines with constants and inline functions 2009-05-08 15:05:55 -05:00
Slava Pestov 53db9d737a Change (void) to () 2009-05-05 11:33:35 -05:00
Slava Pestov 8872c40b1e The great type renaming 2009-05-04 04:50:24 -05:00
Slava Pestov edecac508e Use C++ namespaces 2009-05-04 01:46:13 -05:00
Slava Pestov 8e17e0a01e 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 e3592ca8f6 Clean up untag_* and tag_* inline functions in favor of more idiomatic C++ 2009-05-02 20:47:29 -05:00
Slava Pestov b923d548cf Move vmpp to vm 2009-05-02 20:37:18 -05:00