aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/code_ix.c
AgeCommit message (Collapse)Author
2012-09-07erts: Fix faulty lock check assertSverker Eriksson
2012-08-31erts: Refactor naming regarding code_write_permissionSverker Eriksson
The concept of code_write_permission is used by tracing as well and is not specific to code_ix.
2012-06-25Make the lock check in erts_is_code_ix_locked() strongerBjörn Gustavsson
Make sure that the the currently running thread has the lock, not only that that some thread has the lock.
2012-02-24erts: Fix faulty assert in non-smp debug vmSverker Eriksson
"is_blocking" always returns true on non-smp
2012-02-23erts: Refactor code loading with renamingSverker Eriksson
Rename lock_code_ix as seize_code_write_permission. Don't want to call it a "lock" as it can be held between schedulings and different threads and is not managed by lock checker. Rename "activate" staging as "commit" staging. Why not be consistent and use git terminology all the way.
2012-02-23erts: Switch order between code_ix lock and thread blockingSverker Eriksson
Make for simpler code when we just can block threads and continue without having to release code_ix lock and repeat code lookups to avoid race.
2012-02-21erts: Refactor export staging lockSverker Eriksson
Renamed it export_staging_lock and made change it to ordinary mutex.
2012-02-21erts: Activate staged code in a thread safe waySverker Eriksson
Activation of staged code is scheduled for a later moment when all schedulers have done a full memory barrier. This allow them to read active code index while executing without any memory barriers at all.
2012-02-21erts: Suspend processes waiting for code_ix lockSverker Eriksson
This will prevent blocking entrire schedulers in the rare case when several processes are racing to load/upgrade/delete/purge code.
2012-02-21erts: Refactor code_ixSverker Eriksson
Move implementation from beam_load into new file code_ix.c and module.c and make some function inline.