Commit Graph

67 Commits (github/freebsd-work)

Author SHA1 Message Date
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