Doug Coleman
bc54927859
vm/image.cpp: Better error for opening a file for writing.
2014-07-03 22:32:45 -07:00
Doug Coleman
e558bd7d86
vm: Fix compilation on Windows. Fixes #1086 .
2014-07-03 13:20:08 -05:00
Steven Stewart-Gallus
e6dade3f94
Lower the stack usage of a few functions
...
In vm/compaction.cpp I rescoped some variables to lower the stack usage
from 592 to 560 bytes. I wasn't very successful with this. The stack
usage is larger than it looks because methods on the structures used
take an implicit this pointer and a reference to the data (so the data
has to live out it's full scope and can't be put in a register).
In vm/debug.cpp I made a large (1024 bytes) stack allocated buffer
simply dynamically allocated.
In vm/os-unix.cpp I rescoped signal handling structures to not coincide
with each other and reduced a very large (1024 bytes) amount of stack
usage to less than 500 bytes.
2014-06-19 14:55:57 -07:00
Doug Coleman
2834bc90f8
bignum.cpp: Fix regression in bignum conversion. Fixes #1072 .
2014-06-16 20:52:51 -07:00
Björn Lindqvist
a6e0867b22
VM: change type of bignum_roots and remove unnecessary not-null checks
...
Declaring bignum_roots to contain bignum** instead of cell avoids some
superfluous casts. Casting it to cell is wrong because the items in it
are never tagged. And due to a earlier commit, bignum_roots will never
contain NULL:s so checking for them is not needed.
2014-06-12 13:50:10 -07:00
Björn Lindqvist
8ac3b80173
VM: rename all variables named "bignum" in bignum.cpp to "bn"
...
The name can cause compiler errors because it's the same as the type
name. It only matters in some functions, but I like consistency so I
renamed it everywhere.
2014-06-12 13:50:10 -07:00
Björn Lindqvist
75129d34ad
VM: refactor bignum.cpp so that GC_BIGNUM is never called on a NULL
...
pointer
The purpose of this fix is to ensure that no NULL checks are needed when
traversing the bignum_roots vector.
2014-06-12 13:50:10 -07:00
Björn Lindqvist
0c9e61ca99
VM: refactoring that removes data_root_ranges
...
instead of storing data_root_ranges in data_roots, you can just store
cell pointers directly. the advantage with doing it that way is that
registration and traversal code becomes simpler (and slightly faster).
2014-06-12 13:50:10 -07:00
John Benediktsson
f0e878e3fa
Revert "vm: fix bignum_to_fixnum_strict for BIGNUM_ZERO."
...
This reverts commit 0a66016c7db3c8c02af609d7c46411dc05a7b0dd.
2014-06-08 16:32:35 -07:00
John Benediktsson
ad7ee60341
vm: fix bignum_to_fixnum_strict for BIGNUM_ZERO.
2014-06-08 16:05:36 -07:00
John Benediktsson
82f9f21a50
vm: change some push/pop to replace/peek.
2014-06-07 12:16:43 -07: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
John Benediktsson
eeaa91d6c1
vm: using bignum>fixnum-strict in integer>fixnum-strict.
2014-06-07 09:46:05 -07:00
Björn Lindqvist
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
Björn Lindqvist
1300a27dca
VM: better version of bignum_to_fixnum_strict that doesn't allocate
2014-06-07 13:09:00 +02:00
Björn Lindqvist
a9a52d9174
VM: bignum_to_fixnum_strict and an accompanying vm error in case the conversion fails
2014-06-07 12:13:59 +02:00
Björn Lindqvist
877e3a12e1
VM: allot_array_1, allot_array_2 are unused and primitive_array should use allot_array
2014-06-07 12:13:59 +02:00
Björn Lindqvist
03672ad938
VM: refactored factor_vm::unbox_array_size()
2014-06-07 12:13:59 +02:00
John Benediktsson
7ff81f620b
vm: optionally set CC and CXX on macosx.
2014-06-06 15:13:48 -07:00
John Benediktsson
6c703bbd6c
vm: adding a fast path for bignum sq.
2014-06-06 10:45:09 -07:00
Björn Lindqvist
6627a3327b
kernel: symbolic constants for the various kernel errors
2014-06-04 23:16:40 +02:00
John Benediktsson
fd1dc5ce01
vm: formatting of sign_mask.
2014-06-02 07:54:01 -07:00
John Benediktsson
c2c6225955
vm: fix tabs-to-spaces.
2014-06-02 07:24:14 -07:00
John Benediktsson
cf287f4144
vm: faster foo_to_bignum for common case of one bignum digit.
2014-06-02 07:16:43 -07:00
Doug Coleman
c3210f9f4f
Windows: Add two new targets, x86-32-vista and x86-64-vista for bjourne's
...
ctrl-c patch. We still support Windows XP by default for now. Closes
2014-05-10 18:13:20 -07:00
Björn Lindqvist
0226718a82
VM: attempt to cancel blocking system calls when ctrl-c is pressed
...
Windows runs ctrl-c in its own thread and doesn't by itself interrupt
blocking system calls when it is pressed. Therefore you have to manually
send an interrupt signal to the stuck thread.
2014-05-10 18:13:04 -07:00
Doug Coleman
57611f78d3
code_blocks: Same error message in two places, make it clear which is triggering.
2014-05-07 14:02:14 -07:00
Björn Lindqvist
9780012f55
dlopen using RTLD_GLOBAL
2014-04-21 23:45:45 -07:00
Doug Coleman
19685f4528
vm: jit::jit is a c++ constructor but it does not allocate objects to the Factor heaps.
...
Add annotations for gc allocating.
2014-02-14 20:29:26 -08:00
John Benediktsson
0dda4fc812
vm: speed up bignum log2.
2013-12-06 14:40:22 -08:00
Doug Coleman
1ad2e058d1
alien.cpp: Add comment about allocation.
2013-11-28 10:59:45 -06:00
Doug Coleman
268fa0225d
os-windows: Remove FACTOR_DLL which is NULL and only used in one place.
2013-11-24 22:06:57 -06:00
Doug Coleman
0a5cdfa3e6
vm: init_parameters_from_args calls default_parameters already.
2013-11-24 22:06:57 -06:00
Erik Charlebois
40fcee3f16
VM: Fix Windows 64-bit build on Visual Studio 2012
...
The UNW_FLAG_EHANDLER #define is now visible in VS2012, causing
a conflict with the definition in os-windows-x86.64.cpp. Added
a #ifndef to only include the definition if it hasn't already
been defined.
2013-05-13 18:19:52 -04:00
Erik Charlebois
5027f75d79
VM: Fix Windows VM build following type renaming
...
Making cell be a typedef of uintptr_t broke a spot assigning
cell* was unsigned long*. Added an explicit cast.
2013-05-13 18:18:48 -04: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
7ea2150c39
VM: Remove WINCE #ifndef; fold wince? words
2013-05-13 00:01:46 -04:00
Erik Charlebois
b918c3e646
VM: Remove redundant #ifdef FACTOR_DEBUGs
...
FACTOR_DEBUG checks around asserts aren't needed, since FACTOR_ASSERT is
already conditionally defined by FACTOR_DEBUG.
2013-05-12 23:44:32 -04:00
Erik Charlebois
7b1b1eef23
VM: Remove unnecessary _ suffix in constructors
2013-05-12 23:20:43 -04:00
Erik Charlebois
26ff071205
VM: Remove unnecessary explicit keywords
2013-05-12 21:48:38 -04:00
Erik Charlebois
d44127b543
VM: Refactor write_barrier.hpp to Factor style
2013-05-12 13:24:48 -04:00
Erik Charlebois
38c9db88e2
VM: Refactor words.cpp to Factor style
2013-05-12 13:24:48 -04:00
Erik Charlebois
5614985c3d
VM: Refactor vm.cpp/hpp to Factor style
2013-05-12 13:24:48 -04:00
Erik Charlebois
8522265169
VM: Refactor utilities.cpp/hpp to Factor style
2013-05-12 13:24:48 -04:00
Erik Charlebois
5b1a9d753e
VM: Refactor tuples.cpp/hpp to Factor style
2013-05-12 13:24:48 -04:00
Erik Charlebois
93b586da31
VM: Refactor to_tenured_collector.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
bd66094e1b
VM: Refactor tenured_space.hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
238e9d9810
VM: Refactor tagged.hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
2e058e99c1
VM: Refactor strings.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
6d5197923c
VM: Refactor slot_visitor.hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
b1ccfa2194
VM: Refactor segments.hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
b2929acff6
VM: Refactor sampling_profiler.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
2af4b6a7e6
VM: Refactor safepoints.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
debdb11538
VM: Refactor run.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
435ac636c6
VM: Refactor quotations.cpp/hpp to Factor style
2013-05-12 13:24:47 -04:00
Erik Charlebois
4dffb25fe6
VM: Refactor primitives.cpp/hpp to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
5e7792e9b9
VM: Refactor platform.hpp to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
37b15012e6
VM: Refactor os-* to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
228d813a7d
VM: Refactor objects* to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
56ceeb582a
VM: Refactor object_start_map* to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
bac6919705
VM: Refactor nursery_* to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
d57c1cc579
VM: Refactor mvm* to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
d9e225e1dc
VM: Refactor math.hpp/cpp to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
38802ce173
VM: Refactor master.hpp to Factor style
2013-05-12 13:24:46 -04:00
Erik Charlebois
ce6ffe91dd
VM: Refactor mark_bits.hpp to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
d20bf1e213
VM: Refactor main-* to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
302826c7be
VM: Refactor mach_signal to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
0b5a12fdea
VM: Refactor layouts/hpp to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
1eaddb0068
VM: Refactor jit.cpp/hpp to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
894e181f31
VM: Refactor io.cpp/hpp to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
d3d1d3bb7a
VM: Refactor instruction_operands.cpp/hpp to Factor style
2013-05-12 13:24:45 -04:00
Erik Charlebois
f6047832cb
VM: Refactor inline_cache.cpp/hpp to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
cae6a5e855
VM: Refactor image.cpp/hpp to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
4ea2e9ed06
VM: Refactor generic_arrays.hpp to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
34d04b9306
VM: Refactor gc* to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
9e2d775095
VM: Refactor full_collector to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
f40718dfab
VM: Refactor free_list_allocator to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
c0aa1c7b3e
VM: Refactor free_list to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
83b69d45f8
VM: Refactor float_bits.hpp to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
95d34e8ee7
VM: Refactor fixup.hpp to Factor style
2013-05-12 13:24:44 -04:00
Erik Charlebois
04d655310f
VM: Refactor ffi_test to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
d92617dda7
VM: Refactor factor.cpp/hpp to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
e9c0476f15
VM: Refactor errors to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
d6bc190f51
VM: Refactor entry_points to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
d5f66d9561
VM: Refactor dispatch to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
6955dd8565
VM: Refactor debug.cpp to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
7a05bf1993
VM: Refactor data_roots.hpp to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
75e6c88534
VM: Refactor data_heap* to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
fb34be6fa7
VM: Refactor cpu-* to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
0cf7feba0b
VM: Refactor copying_collector.hpp to Factor style
2013-05-12 13:24:43 -04:00
Erik Charlebois
2a5126e49a
VM: Refactor contexts to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
2bed6f6a25
VM: Refactor compaction.cpp to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
66976a12bf
VM: Refactor collector.hpp to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
ef7c009d2a
VM: Refactor code_roots to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
7f56458820
VM: Refactor code_heap to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
d2fe86eb7e
VM: Refactor code_blocks to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
2e20733ade
VM: Refactor callstack to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
7aae3c04ce
VM: Refactor callbacks to Factor style
2013-05-12 13:24:42 -04:00
Erik Charlebois
22eed89484
VM: Refactor byte_arrays to Factor style
2013-05-12 13:24:42 -04:00