Doug Coleman
205018869b
vm: Add freebsd32 support for completeness.
...
We need gmake on freebsd.
2019-02-09 19:40:54 +00:00
Jack Lucas
3154242a3a
Re-add Freebsd Support
2019-02-08 19:17:30 -05:00
John Benediktsson
a463214d10
Version bump to 0.99 (-dev).
2018-07-31 12:40:12 -07:00
Björn Lindqvist
e27bd4020d
Build: let's remove the NO_UI variable
...
That option has no effect on the build just confuses people because they
think Factor can be built with/without the UI. The runtime never depends
on any ui libraries.
2017-06-30 00:24:24 +02:00
Björn Lindqvist
c2f4fdb172
VM: merge of the free_list and free_list_allocator classes
...
Seem simpler to have all the free list stuff in one class rather than
split it over two classes.
2016-10-08 07:04:28 +02:00
Björn Lindqvist
c02d913579
VM: big refactoring removing the gc_workhorse
...
Each collector were a slot_visitor containing a gc_workhorse containing
a policy class. This commit removes the gc_workhorse and the policies
and instead "inlines" the common code in the collector bodies. So there
is more code duplication, but the control flow doesn't "jump around" so
much so it is easier to understand. It also makes the nursery gc faster
because its collection code can be optimized better without the
workhorse/policy system.
2016-09-22 13:12:59 +02:00
Björn Lindqvist
bc8525eb02
VM: the small return_address_index function can be implemented in the header
2016-09-10 03:18:18 +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
b87f129914
Build: adding c99 flag, in case compiler doesn't enable it by default
2016-08-05 01:50:54 +02:00
Björn Lindqvist
0107595639
Build: drops debugging symbols, fixes #1634
2016-05-26 00:28:10 +02:00
Doug Coleman
bbb3582d9d
GNUMakefile: The previous patch doesn't work with g++.
...
https://stackoverflow.com/questions/19774778/when-is-it-necessary-to-use-use-the-flag-stdlib-libstdc
2016-05-05 16:55:28 -07: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
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
Doug Coleman
2adec21174
GNUmakefile: add -pedantic now that there are no warnings.
2016-03-30 15:39:42 -07:00
Björn Lindqvist
4d2afed06d
Build: fix makefile to work with new script path
2016-03-16 14:28:09 +01:00
Doug Coleman
cf80135ffa
GNUMakefile: Save entire git id.
2015-08-04 16:28:41 -07:00
Björn Lindqvist
beb71ce49b
VM: merge full_collector.hpp into full_collector.cpp
2015-08-04 16:02:10 +02:00
Björn Lindqvist
ae725b737a
VM: lets merge entry_points.hpp with vm.hpp, so you have one less header
...
file to worry about
2015-08-04 16:02:09 +02:00
Björn Lindqvist
46423dfebf
VM: merge strings.hpp and tuples.hpp into layouts.hpp, because those
...
header files were so tiny
2015-07-06 22:49:38 +02:00
Doug Coleman
64ccac3572
Revert "GNUmakefile: Don't compile.gch with -std=c++11"
...
This wasn't the problem.
This reverts commit e97e74b682
.
2015-06-05 10:52:48 -07:00
Doug Coleman
e97e74b682
GNUmakefile: Don't compile.gch with -std=c++11
2015-06-05 10:35:03 -07:00
Doug Coleman
ad2c2c36bb
GNUmakefile: add -std=c++11 to CXXFLAGS
2015-06-05 10:31:49 -07:00
Björn Lindqvist
0a6486ef78
VM: the aging_policy and nursery_policy classes are so small that they
...
can be in the same cpp file with the methods that use them
2015-05-09 20:04:21 -07:00
Björn Lindqvist
e4bb3058e0
VM: the copying_collector only contained one method, so it can easily be
...
merged with its base class
2015-05-09 20:04:21 -07:00
Björn Lindqvist
9bfc43144e
VM: debug macros FACTOR_PRINT and FACTOR_PRINT_MARK to make better debug
...
printing messages than just using std::cout
2015-05-09 20:04:21 -07:00
Björn Lindqvist
4d7bc4c169
VM: merge of slot_visitor and code_block_visitor
...
Looks like there is no reason for them to be separate classes and by
merging them you can simplify lots of code.
2015-01-15 09:29:14 +00:00
Björn Lindqvist
885b5c7043
VM: no need for a nursery_space class, it's just a bump_allocator
2014-12-04 10:23:33 -08:00
Doug Coleman
a6dd9a025c
Revert "version number: 0.98 -> 0.98-git. @bjourne suggested, some python projects do this too."
...
This reverts commit 599c2cdba2
.
XXX: Mac fails with this error:
c++ -Wall -DFACTOR_VERSION="0.98-git" -DFACTOR_GIT_LABEL="heads/master-0-g599c2cd" -fomit-frame-pointer -mmacosx-version-min=10.5 -m64 -O3 -g -dynamiclib -single_module -current_version 0.98-git -compatibility_version 0.98-git -fvisibility=hidden -lm -framework Cocoa -framework AppKit -o libfactor.dylib vm/os-unix.o vm/os-macosx.o vm/mach_signal.o vm/mvm-unix.o vm/cpu-x86.o vm/aging_collector.o vm/alien.o vm/arrays.o vm/bignum.o vm/byte_arrays.o vm/callbacks.o vm/callstack.o vm/code_blocks.o vm/code_heap.o vm/compaction.o vm/contexts.o vm/data_heap.o vm/data_heap_checker.o vm/debug.o vm/dispatch.o vm/entry_points.o vm/errors.o vm/factor.o vm/free_list.o vm/full_collector.o vm/gc.o vm/gc_info.o vm/image.o vm/inline_cache.o vm/instruction_operands.o vm/io.o vm/jit.o vm/math.o vm/mvm.o vm/nursery_collector.o vm/object_start_map.o vm/objects.o vm/primitives.o vm/quotations.o vm/run.o vm/safepoints.o vm/sampling_profiler.o vm/strings.o vm/to_tenured_collector.o vm/tuples.o vm/utilities.o vm/vm.o vm/words.o
ld: malformed 32-bit x.y.z version number: 0.98-git
clang: error: linker command failed with exit code 1 (use -v to see invocation)
2014-11-11 00:16:00 -08:00
Doug Coleman
599c2cdba2
version number: 0.98 -> 0.98-git. @bjourne suggested, some python projects do this too.
2014-11-11 00:13:23 -08:00
Doug Coleman
11be8734cb
GNUmakefile: Remove LIBPATH from the build system since nothing needs it. Fixes #1192 .
2014-11-11 00:05:52 -08:00
Doug Coleman
d9271046be
GNUmakefile, factor.cmd: Update versions to 0.98
2014-11-10 23:08:49 -08:00
Björn Lindqvist
090f4fddd5
VM: Three new special objects added to keep track of the builds version number, git label and compilation time respectively. The info is exposed in the system:version-info word and also shown in the banner during startup.
...
Conflicts:
Nmakefile
basis/ui/tools/listener/listener.factor
core/alien/strings/strings.factor
2014-11-10 23:01:52 -08:00
Benjamin Pollack
2c3dd8c3c8
Remove executable bit from tons of files that aren't
2014-11-05 20:40:42 -08:00
John Benediktsson
56a3a3cd62
build-support: allow CC and CXX to be overridden.
2014-06-06 15:06:48 -07:00
Doug Coleman
e7f64b8c4d
GNUMakefile: Use -g for symbols.
2014-05-07 13:29:05 -07:00
Erik Charlebois
a42ba561d2
VM: Remove empty source files
2013-05-12 13:24:40 -04:00
John Benediktsson
23b3bcc313
Update version in GNUmakefile.
2013-04-24 07:44:06 -07:00
Doug Coleman
81aec8be21
GNUmakefile: Version was still .94, bump it to .96
2013-03-29 10:25:14 -07:00
Felix Kaiser
5ed361552a
fix build for linux (issue #480 ). thanks, jcollado!
2012-03-25 14:45:17 -07:00
Joe Groff
0a1a252cdb
vm: replace assert with FACTOR_ASSERT
...
Factor is finally a real C++ project and has a custom assert macro. Assertion failures were still getting caught as exceptions and causing failure loops. Write our own macro that calls factor::abort on failure.
2011-11-23 11:11:26 -08:00
Joe Groff
c31530caec
vm: strip out call-counting profiler
...
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318 .
2011-11-10 16:01:07 -08:00
Joe Groff
b46fd5e655
GNUmakefile: use PCH so compiler goes faster
...
Also add more accurate dependencies on headers so "make" works right when headers change
2011-11-08 08:42:46 -08:00
Joe Groff
72d335f2b5
vm: write async signals to pipe for multiplexer
...
also factor out safepoint logic into its own file
2011-11-08 08:42:46 -08:00
Joe Groff
94eb922998
makefile: add macosx-x86-fat target
2011-11-03 20:19:37 -07:00
Joe Groff
8cf18d1a82
remove BSD,solaris,etc. misc platform support code
2011-11-02 17:13:51 -07:00
Joe Groff
80fb7788d9
vm: groundwork for sampling profiler
...
Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting.
2011-11-02 13:23:06 -07:00
Joe Groff
cdfb1b1b94
vm: change "profiler" names to "counting_profiler"
2011-11-02 13:23:05 -07:00
Doug Coleman
432927fe5f
Move --no-as-needed to Config.linux since it breaks compilation on mac
2011-10-19 12:09:43 -07:00
Philipp Brüschweiler
3c5e41599d
GNUmakefile: add linker option --no-as-needed, fixes #266
2011-10-19 11:38:56 -07:00
John Benediktsson
e76bcd36c9
Re-commit otoburb's fix for #257 .
2011-10-14 09:40:56 -07:00