Daniel Kochmański
63ff85ef7f
install: add build instructions for emscripten
2023-06-13 22:07:12 +02:00
Marius Gerbershagen
de5d56b4c6
multithreading: replace various synchronization objects by native mutexes
...
- Spinlocks have been replaced by ordinary locks. Without access to
the underyling scheduler, spinlocks provide no performace benefit
and may even be harmful in case of high contention.
- Synchronization of process creation and exiting has been simplified.
Instead of a spinlock, a barrier and atomic operations we now use
only a single lock protecting the shared process state and a
condition variable for implementing process joins.
- Some locks which were implemented using Lisp objects now directly
use a native mutex.
- Our own mutex implementation has been removed as it is now unused.
2021-08-29 17:23:20 +02:00
Marius Gerbershagen
0f737b6ba6
multithreading: implement mutexes and condition variables using OS primitives
...
Replace slow homegrown mutex implementation by standard OS functions.
We try our best to be interrupt safe, however a completely safe
implementation is impossible (unless one completely removes the ability
to interrupt a thread waiting on a mutex). There is always a window
after the OS specific function has returned, but before we can set
the owner, in which interrupts will see an inconsistent state of the
mutex with regards to owner and count.
Condition variables are now based on OS functions as well. Timed
waiting on condition variables has also been implemented.
2021-08-29 17:23:19 +02:00
Marius Gerbershagen
9176710d96
src/util: add script to run the testsuite on android
2021-01-30 15:41:45 +01:00
Daniel Kochmański
7908ba8003
refactor: remove the file symbols_list2.h
...
The file symbols_list2.h was automatically generated from the file
symbols_list.h for dpp. This commit unifies said structure definition and
removes a step for generating symbols_list2.h.
From now on at runtime the structurecl_symbol_initializer has an additional
element storing the function name. That will help solving #543 .
2020-12-23 12:08:33 +01:00
Daniel Kochmański
a67d16bbc2
utils: add the utility to help parsing/generating symbols_list.h
2020-12-23 12:03:36 +01:00
Marius Gerbershagen
9137c681a8
iOS-arm64.cross_config: fix long long bits
2020-06-12 20:50:35 +02:00
Marius Gerbershagen
4f8b4fab8b
update CHANGELOG, INSTALL and cross config for iOS
2019-12-08 10:26:52 +01:00
Marius Gerbershagen
6090d9d201
update installation instructions for recent Android NDKs and support ARM64
...
Works for Android NDKs with unified headers (see https://android.googlesource.com/platform/ndk/+/ndk-release-r16/docs/UnifiedHeaders.md ).
Separate step of configuring a standalone toolchain is recommended
by the Android docs. Explicitely setting CC to clang is useful,
since gcc in Android NDK is deprecated and outright broken in NDK
version 18. Using the bfd linker is needed for bdwgc to work
correctly (see also https://github.com/ivmai/bdwgc/issues/259 ).
2019-01-12 22:51:17 +01:00
Marius Gerbershagen
239a2aa4f1
threading: add support for atomic operations
...
We support both compare-and-swap and fetch-and-add (via
atomic-incf/decf) on the most common places and define an
extension interface for compare-and-swap similiar to the one in
SBCL.
These changes introduce new dependencies on the libatomic_ops
macros AO_fetch_compare_and_swap and AO_fetch_and_add.
2018-10-15 19:55:39 +02:00
Marcin Kolenda
f9b371ddbf
rm rsym from util Makefile -- rsym.c doesn't exist
...
Checked with ack-grep if it isn't mentioned in other places - it isn't.
Looked in repo history what is rsym.c - haven't found anything
2018-08-10 07:53:25 +02:00
Daniel Kochmański
915b40ce03
cleanup: move C/CXX part of CLOS to src/c/clos/ directory
...
instance.d and gfun.d were in the top C source directory.
2017-05-06 18:27:34 +02:00
Daniel Kochmański
1398fd381a
cleanup: purge clx
2016-09-07 14:58:50 +02:00
Daniel Kochmański
6ff5d20417
unify: remove obsolete interface
2016-03-11 16:06:45 +01:00
Daniel Kochmański
61500316b7
gbc: remove obsolete (non-functional) GC
...
I would like to bring it back to life in the future, but we have to
clean the interfaces first.
2016-03-11 16:06:45 +01:00
Daniel Kochmański
562b30dff0
ms-dos: remove lingering references
2016-03-11 16:06:45 +01:00
Daniel Kochmański
edfc2ba785
earith: remove obsolete bignum arith
2016-03-11 16:06:45 +01:00
Daniel Kochmański
7517b55c08
loop: rename symbolics LOOP loop2.lsp to loop.lsp
2016-03-11 16:06:45 +01:00
Daniel Kochmański
b81b8fc17b
util.lsp: delete not referenced file
...
This file also references non-existant files in the CMP package.
2016-03-11 16:06:45 +01:00
Daniel Kochmański
645b29992b
loop: remove obsolete MIT loop system
2016-03-11 16:06:45 +01:00
Daniel Kochmanski
7ffa9b2990
windows-nsi: fix the nmake target
2016-02-25 08:28:30 +01:00
Daniel Kochmański
a3a609ac42
android: move android.cross_config to src/util
2015-10-28 19:57:35 +01:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
3117bc2e7d
util: gdbinit ignores GC signals
...
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-19 09:15:11 +02:00
Daniel Kochmański
4d19a27424
cosmetic: untabify
...
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Philipp Marek
1e2fc6ed3b
Fix ecl_eval to not have quotes by default.
...
When "$arg0 $arg1 ..." is specified, GDB requires that many arguments;
and with "$arg0" it's not possible to give expressions that include
spaces, because they get cut _before_ ecl_eval sees them.
(And having "$arg0" _and_ giving quotes doesn't work as we'd like to, too.)
2014-02-27 20:33:11 +01:00
Philipp Marek
3afe5932f4
Fix ecl_print, and new GDB function ecl_eval.
...
Used like this:
(gdb) ecl_eval cl::*package*
2014-02-27 16:35:22 +01:00
Philipp Marek
e3348dafe5
GDB: Don't print an object if the type is 0 (cl_start) - that seems unsafe.
2014-02-26 21:37:51 +01:00
Philipp Marek
efdf97e1ad
Convenience function for printing "cl_object"s from GDB.
2014-02-26 21:15:05 +01:00
Juan Jose Garcia Ripoll
9ffb48f149
Remove unused files from emacs.el
2012-11-30 23:41:29 +01:00
Juan Jose Garcia Ripoll
e06ff1f414
Remove inexistent files from emacs.el
2012-11-11 01:12:13 +01:00
Juan Jose Garcia Ripoll
d9693e1d06
New list of sources in emacs.el
2012-10-11 20:08:05 +02:00
Juan Jose Garcia Ripoll
a2fe30393f
Prefix the function argument limits
2012-06-22 23:47:45 +02:00
Juan Jose Garcia Ripoll
f062b726cc
New function to search & replace through the ECL project using regexp.
2012-06-07 23:50:58 +02:00
Juan Jose Garcia Ripoll
64a9168434
CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix
2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
44fbe27453
List new thread files in emacs.el
2012-04-05 01:11:03 +02:00
Juan Jose Garcia Ripoll
f8f67f0fbf
Update list of files for Emacs
2012-03-18 01:19:42 +01:00
Juan Jose Garcia Ripoll
9ffc5b1f6e
Remove unused files from src/util/emacs.el
2011-12-10 00:00:47 +01:00
Juan Jose Garcia Ripoll
de3349b677
Moved macros from eval.h to cons.h
2011-12-03 22:13:35 +01:00
Juan Jose Garcia Ripoll
b857c4836d
Use the new functions [_]ecl_c[ad]+r() functions in the Lisp2C compiler
2011-12-03 21:08:34 +01:00
Juan Jose Garcia Ripoll
d5f090e81e
Added a header and a separate object file for C[AD]+R operation, automatically generated from src/util/gen-code.lsp
2011-12-03 20:16:45 +01:00
Juan Jose Garcia Ripoll
2a1de25e39
Updated the list of files in emacs.el
2011-06-30 11:08:02 +02:00
Juan Jose Garcia Ripoll
6274f755a6
Normalize paths in Windows (cut.exe)
2011-06-28 22:30:08 +02:00
Juan Jose Garcia Ripoll
e02cd6d502
Add the possibility of installing redistributable files from Microsoft
2011-01-06 21:59:44 +01:00
Juan Jose Garcia Ripoll
98048aba28
ECL now ships a Windows icon which is added to the executable at build time.
2010-12-30 09:04:40 +01:00
Juan Jose Garcia Ripoll
fb2c950202
Use GMP_CPPFLAGS in src/util/ecl-config
2010-08-22 22:29:18 +02:00
Juan Jose Garcia Ripoll
8abce51390
Fix emacs.el to load the old compiler
2010-06-27 10:11:34 +02:00
Juan Jose Garcia Ripoll
2863a7cf2e
Not all values were properly substituted in 'ecl-config'
2010-03-11 00:19:34 +01:00
Juan Jose Garcia Ripoll
de14b01c7c
Update the compiler list of files.
2009-12-31 11:42:34 +01:00
Juan Jose Garcia Ripoll
7a59afb68d
Add missing compiler files to the list of sources loaded by Emacs.
2009-12-28 14:47:27 +01:00