Björn Lindqvist
0a5f1689e1
VM: init_inline_caching is not needed
2016-08-19 02:58:19 +02:00
Björn Lindqvist
b5c6658ae5
VM: removing the safepoint_state class
...
The code reads better if the safepoint_state methods and
attributes (sample_counts and safepoint_fep_p) are moved to the vm
class.
2016-08-15 15:16:41 +02:00
Björn Lindqvist
2f6f69eb5b
VM: trying to simplify record_sample and the profiling_sample constructor
2016-08-15 15:16:41 +02:00
Björn Lindqvist
76139dca56
VM: new ffi_test functions added
2016-08-05 15:30:28 +02:00
Doug Coleman
4e48e836b9
vm: fix typo from c++ comment patch causing compile failure.
2016-08-04 09:28:50 -07:00
Alexander Iljin
7ee4e5dea5
vm: replace line comments // with block comments /**/ for consintency
...
Fix #1651 .
2016-08-03 09:19:48 -07:00
Björn Lindqvist
00d15b66a6
compiler.tests.alien: tests for varargs calls
2016-08-02 23:36:02 +02:00
Alexander Iljin
56880fbacf
vm: add a comment on possible issues with QueryPerformanceCounter
2016-07-30 09:25:30 -07:00
Björn Lindqvist
c646db3ae5
VM: fixing small style issues
...
Like aligning comments and changing //-comments to /* */
2016-07-02 15:50:59 +02:00
Björn Lindqvist
801c70e9da
VM: removes the signal_handler_impl methods from factor_vm
...
Instead the code is in the functions with the same name. That way, they
don't need to exist both as functions and methods.
2016-06-29 18:27:26 +02:00
Björn Lindqvist
f99c684cc5
VM: set_border_locked is the same on windows and unix
2016-06-27 16:27:56 +02:00
Björn Lindqvist
a331ad3788
VM: factor_vm::set_callstack and set_retainstack is not needed
2016-06-27 16:08:58 +02:00
Alexander Iljin
7a94230899
VM: fix the sampler_thread handle leak
2016-06-22 11:27:26 -07:00
Björn Lindqvist
3eef76c686
VM: a little faster definition of contains_p()
2016-06-14 04:40:20 +02:00
Björn Lindqvist
6984bae7ca
VM: rename of JIT_PUSH_IMMEDIATE to JIT_PUSH_LITERAL
...
The code template pushes both immediates and references so the name was
wrong.
2016-06-07 14:54:23 +02:00
Björn Lindqvist
6b95813dbc
VM: refactor the immediate_p check out of visit_pointer()
...
This avoids reassigning to slots that are never changed. It makes the minor-gc pass 2% faster.
2016-06-07 14:42:06 +02:00
Björn Lindqvist
33d5ecefd5
VM: refactor a struct into a c++11 lambda
2016-06-07 14:04:28 +02:00
Björn Lindqvist
a58f8c76f4
VM: rename compile_inline_cache and refactor the loop body into emit_check_and_jump
2016-05-31 03:37:24 +02:00
Björn Lindqvist
dae2229957
VM: omit the type check if checking for fixnum and it's the first check
...
Previously: and ecx, 0xf ; cmp ecx, 0 ; jz <address> was generated. Now
instead: and ecx, 0xf ; jz <address> because the cmp, ecx, 0 instruction
is redundant.
2016-05-31 03:37:24 +02:00
Björn Lindqvist
59443dca01
VM: new method quotation_jit:nth
...
It's less tedious than writing array_nth(elements.untagged(), i + N) everywhere
2016-05-31 03:37:24 +02:00
Alexander Iljin
e302928510
vm: fix a typo in a comment
2016-05-30 12:11:56 -07:00
Alexander Iljin
3ea7fe616e
vm: fix warning C4800: forcing value to bool
...
The warning is issued by the Visual Studio 2015, treated as error.
2016-05-30 12:11:56 -07:00
Alexander Iljin
db9007a713
vm: give windows_stat fewer reasons to fail
...
More sharing flags mean that the file opening attempts will succeed even
if the file is already open by another process for writing or deleting.
2016-05-30 12:11:56 -07:00
Björn Lindqvist
4a471ba07c
VM: make it so compiling mega cache lookups doesn't generate stack frames ( #651 )
2016-05-30 08:23:18 +02:00
Björn Lindqvist
3b016bc254
VM: a bunch of more methods on the factor_vm class that can be made into funtions
2016-05-30 07:44:26 +02:00
Björn Lindqvist
00a64c9271
VM: name change no_non_safepoint_words_p -> stack_frame_p
...
It returns true if the quotation should be wrapped in a stack frame.
2016-05-30 07:44:20 +02:00
Björn Lindqvist
1fddf79724
VM: moving a few methods arounds
...
word_call, word_jump and emit_mega_cache_lookup are only used in quotations.cpp so they should be defined there too.
2016-05-30 03:03:10 +02:00
Björn Lindqvist
4509371f7c
VM: shorter definition of emit_check
2016-05-29 04:55:11 +02:00
Björn Lindqvist
b027285b48
VM: makes some factor_vm methods to free functions
2016-05-29 03:03:07 +02:00
Björn Lindqvist
08c2e3a32d
VM: better logic in factor_vm::set_sampling_profiler
...
It avoids the double-negation.
2016-05-19 01:25:53 +02:00
Björn Lindqvist
8ae6e8e23d
VM: safe_strdup needs to be called in vm_executable_path
2016-05-14 19:00:20 +02:00
Björn Lindqvist
335615a025
VM: more destruction needed in the destructor
...
Console needs to be closed, special objects free'd and code heap
deleted.
2016-05-14 18:21:50 +02:00
Björn Lindqvist
7342d97e6d
VM: add destructor to vm_parameters so that executable and image_path is
...
free'd
Valgrind complained that those were leaking
2016-05-14 18:21:49 +02:00
Björn Lindqvist
9555915e7b
VM: more stuff to deallocate in the destructor
2016-05-14 18:21:49 +02:00
Björn Lindqvist
e2b133e291
VM: return value of vm_executable_path() should be free'd
2016-05-14 18:21:49 +02:00
Björn Lindqvist
63791bf90e
VM: move some logic from factor_vm to the vm_parameters class
...
It's good because the factor_vm class is to fat.
2016-05-14 18:21:49 +02:00
Björn Lindqvist
83ce08487e
VM: initialize the ctx member in the construction
...
To make valgrind happy because it complains that it is uninitialized.
2016-05-14 18:21:49 +02:00
Björn Lindqvist
340ad8b8d9
VM: removes the delete_contexts method
2016-05-14 18:21:49 +02:00
Björn Lindqvist
7f8d5cbef4
VM: when starting the sampling profiler, the data needs to be cleared
2016-05-06 19:56:13 +02:00
Doug Coleman
10164b6af8
GNUMakefile: Explicitly ask for stdlib=libc++ because clang downgrades the version silently if you use backward compatibility mode with OSX 10.5 and then shrink_to_fit() doesn't work.
...
Config.macosx: Support for shrink_to_fit() is claimed to be in 10.7 and later, but 10.7 and 10.8 both throw this huge error:
https://paste.factorcode.org/paste?id=3872
Fixes #1624 .
2016-05-05 16:48:40 -07:00
Björn Lindqvist
9824be8714
VM: The C++11 method shrink_to_fit() can be used to release memory
2016-05-05 14:22:57 +02:00
Björn Lindqvist
5826394573
VM: the (clear-samples) primitive is unused
2016-05-05 02:33:35 +02:00
Björn Lindqvist
bc9f62efde
VM: using a c++ lambda over a struct
2016-05-05 01:57:52 +02:00
Björn Lindqvist
8911ad2a16
VM: don't end the gc event in start_gc_again, fixes #659
2016-05-04 22:47:50 +02:00
Björn Lindqvist
583fb5825b
VM: removes the collector class
...
The cheneys_algorithm() method can be moved to slot_visitor (because it
kind of visists objects), and then there is no need for the collector
class.
2016-05-04 17:52:04 +02:00
Björn Lindqvist
f629a95b03
VM: moving collector methods to slot_visitor methods
...
collector::trace_cards moved to slot_visitor::visit_cards and
collector::trace_code_heap_roots moved to
slot_visitor::visit_code_heap_roots. Both those methods are pointer visitors
2016-05-04 00:32:17 +02:00
Björn Lindqvist
4cc5e90605
VM: SNPRINTF macro is not used
2016-05-02 15:01:49 +02:00
Björn Lindqvist
2035eb91fe
VM: method compute_identity_hashcode is not needed
2016-05-02 14:05:01 +02:00
Björn Lindqvist
eb8b7f02bf
VM: the start_factor method isn't needed
2016-05-01 23:36:41 +02:00
Björn Lindqvist
58ad5fb4ce
VM: all the started_<blah>() replaced with reset_timer()
2016-04-24 15:21:17 +02:00