Björn Lindqvist
58ad5fb4ce
VM: all the started_<blah>() replaced with reset_timer()
2016-04-24 15:21:17 +02:00
Björn Lindqvist
82e2de5e12
VM: oops, fix compilation error i caused
2016-04-24 15:18:45 +02:00
Björn Lindqvist
c55af9b957
VM: object_size, compute_entry_point_address, code_block_owner made into
...
functions
It is to make the vm class less heavy
2016-04-24 14:45:03 +02:00
Björn Lindqvist
82658e184f
VM: make return_takes_param() a function
2016-04-24 14:19:35 +02:00
Björn Lindqvist
28b5378196
VM: merge of fixup_data & fixup_code into a new method fixup_heaps
2016-04-24 12:42:22 +02:00
Björn Lindqvist
c8d648f3f2
VM: the factor_vm::code_blocks() method isn't needed
2016-04-22 12:01:26 +02:00
Björn Lindqvist
bcc32291e8
VM: merge of free_list_allocator.hpp into free_list.hpp
...
It's better if all the free list stuff is in a single header.
2016-04-22 12:01:26 +02:00
Björn Lindqvist
a23bb8cf16
VM: nr of code blocks scanned always = points_to_<gen>.size()
2016-04-22 12:01:26 +02:00
Björn Lindqvist
70e7bad921
VM: parent and code attrs in collector struct is not used
2016-04-22 12:01:26 +02:00
Björn Lindqvist
da4812ba21
VM: refactoring which removes two not useful short methods
2016-04-04 23:32:23 +02:00
Doug Coleman
b324c30cc7
vm: Fix four compile warnings reported by gcc with -pedantic flag.
2016-03-30 15:39:42 -07: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
02956a25ce
vm: compact-gc was checked twice.
2016-03-28 22:28:57 -07:00
Björn Lindqvist
9a531076f0
VM: improved vm_executable_path which works for arbitrary long paths
2016-03-23 16:15:30 +01:00
Björn Lindqvist
83e1ee5084
VM: fix string copying to not use PATH_MAX here
2016-03-23 16:15:29 +01:00
Björn Lindqvist
4f33f22b56
VM: on errors, only dump the heap if it has been initialized
2016-03-23 01:56:40 +01:00
Björn Lindqvist
579875821b
VM: removes the OBJ-ERROR special object in favor of a constant
...
The special object contained the string "kernel-error" which were used
to tag VM errors. But it is simplier and removes a little complexity to
just tag them with a fixnum constant.
2016-03-22 17:52:19 +01:00
Björn Lindqvist
2f1e963587
Build: never dynlink with gui libs
2016-03-11 05:17:04 +01:00
Doug Coleman
7488e54825
math.cpp: Fix two warnings. Fixes #1549 .
2016-03-08 10:02:28 -08:00
Jon Harper
13ba081ac8
primitive_format_float, return empty string on bad locale instead of C++ exception
2016-03-08 07:55:25 -08:00
Jon Harper
19fadb6c96
prettyprinter, locale independant float printing
2016-03-08 07:55:25 -08:00
Doug Coleman
5813e8384e
command-line.startup: document more command line flags. we already have -nosignals, but it was hidden in the source code. Fix spacing for default image. Closes #1514 .
2016-03-03 17:16:39 -08:00
Doug Coleman
67eb64cf00
vm/contexts.cpp: We are only deleting half the contexts because we increment the iter twice per loop! Fixes #1534 . Thanks clang!
2016-03-01 00:19:43 -08:00
Björn Lindqvist
44b9b26baa
VM: nitpick fix of filenames in comments
2016-02-28 01:23:59 +01:00
Björn Lindqvist
2db1e7e6a5
VM: simplifies factor_vm::determine_inline_cache_type
2016-02-28 01:10:12 +01:00
Björn Lindqvist
0c9c0b2f82
VM: removes a few methods related to relocation handling
...
They are only used once, so it is simpler to "inline" them
2015-12-13 13:56:36 +01:00
Björn Lindqvist
7da72ac77c
VM: the compute_vm_address method can be removed
2015-12-13 13:56:36 +01:00
Björn Lindqvist
08766090d3
VM: more fine-grained control over which special objects to save
...
It removes a few roots that doesn't need to be saved in the image and
can save a few hundred bytes.
2015-12-13 13:56:36 +01:00
Björn Lindqvist
46bfcbf3a2
VM: the rel_type() and rel_offset() accessors in instruction_operand can be removed
2015-12-13 13:56:36 +01:00
Björn Lindqvist
1a72f731e0
VM: now special-objects is used for -1, 0, 1 and t
...
The fields in the image_header aren't read or written to but I haven't
changed the format yet.
2015-12-10 10:22:38 +01:00
Björn Lindqvist
339b1b6466
VM: put the singletons t, -1, 0 and 1 in the special objects table
...
Having them there instead of as fields in the vm struct removes a bunch
of special handling. This commit just adds them and doesn't remove the
old ones to avoid potential chicken-and-egg bootstrap problems.
2015-12-09 21:31:13 +01:00
Björn Lindqvist
d911bc45fd
VM: refactors the prepare_boot_image method
...
easier to read if the methods compile_all_words and
initialize_all_quotations which are only used once are "inlined"
2015-12-04 13:57:57 +01:00
Björn Lindqvist
867c85f1c5
VM: can't go through the accessor here because it triggers the assert
2015-11-25 18:12:55 +01:00
Björn Lindqvist
0274e889b9
VM: refactor tagged.hpp so it's not dependent on the factor_vm class
...
this way untag<byte_array>(relocation) can be used in code_blocks.hpp
2015-11-24 16:00:50 +01:00
Björn Lindqvist
22bb0cfecf
VM: fixes to use the TAG macro over tagged<object>(obj).type()
2015-11-23 02:27:22 +01:00
Björn Lindqvist
a8aaa42882
VM: refactoring to use the TAG macro directly over the tagged struct
...
eg. TAG(obj) is equivalent to tagged<object>(obj).type()
2015-11-22 23:42:54 +01:00
Björn Lindqvist
575da3e478
VM: fix so that errno is set if MoveFileEx fails, should fix #1490
2015-10-12 12:19:21 +02:00
Björn Lindqvist
7dfb352a7e
VM: replaced calls to out_of_memory() with fatal_error()
...
No need for a special out of memory function -- it's just a kind of
fatal error. Also make fatal_error() call dump_memory_layout() for
easier debugging.
2015-10-08 20:46:17 +02:00
Björn Lindqvist
cb55fcf20f
VM: prettier and more detailed output when dumping generations
2015-10-08 16:25:35 +02:00
Doug Coleman
7eec8621aa
vm: MoveFileEx returns BOOL which needs help converting to C++ bool.
2015-10-01 17:04:13 +00:00
John Benediktsson
bd04290187
vm: fix signature for safe_fopen.
2015-09-30 19:03:39 -07:00
Björn Lindqvist
85784c5265
VM: make save-image throw exception on error ( #1090 )
2015-09-30 23:31:47 +02:00
Björn Lindqvist
2536b6cd93
VM: fix move_file called from save_image
...
save_image() shouldn't throw exceptions because if the 'then_die'
argument is t it would leave factor in an inconsistent state. So
therefore move_file() should be fixed and raw_fclose() called instead of
safe_fclose().
2015-09-29 23:13:10 +02:00
Björn Lindqvist
40eb664425
VM: simplified save_image, goto works here!
2015-09-29 23:13:09 +02:00
Björn Lindqvist
ffc441ad63
VM: looks like ERROR_C_STRING is never thrown, so it can be removed
2015-09-29 23:12:56 +02:00
Björn Lindqvist
614595bd9a
VM: workhorse attribute not used
2015-09-22 08:51:03 +02:00
Björn Lindqvist
b3de115e3c
VM: remove RT_EXCEPTION_HANDLER reference
2015-09-02 21:54:47 +02:00
Björn Lindqvist
769c09def5
VM: for consistency, it is easier to put all functions in the exports file
2015-09-02 21:54:44 +02:00
Björn Lindqvist
bc7f9ee669
VM: always use undecorated names when loading ffi functions
...
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx ).
2015-09-02 21:54:41 +02:00
Björn Lindqvist
da3de080ee
VM: callback_entry_point() and update() can be removed
2015-09-02 21:54:39 +02:00