#include "vm_core.h"
#include "vm_callinfo.h"
#include "mjit.h"
#include "gc.h"
#include "ruby_assert.h"
#include "ruby/debug.h"
#include "ruby/thread.h"
#include "ruby/version.h"
#include "builtin.h"
#include "insns.inc"
#include "insns_info.inc"
#include "internal/compile.h"
#include <sys/wait.h>
#include <sys/time.h>
#include <dlfcn.h>
#include <errno.h>
#include "dln.h"
#include "ruby/util.h"
#include "mjit_config.h"
Go to the source code of this file.
|
#define | MAXPATHLEN 1024 |
|
#define | MJIT_ATOMIC_SET(var, val) (void)ATOMIC_PTR_EXCHANGE(var, val) |
|
#define | MJIT_TMP_PREFIX "_ruby_mjit_" |
|
#define | USE_JIT_COMPACTION 1 |
|
#define | GCC_PIC_FLAGS /* empty */ |
|
#define | MJIT_CFLAGS_PIPE 0 |
|
#define | GCC_NOSTDLIB_FLAGS |
|
#define | CC_CODEFLAG_ARGS (mjit_opts.debug ? CC_DEBUG_ARGS : CC_OPTIMIZE_ARGS) |
|
#define | append_str2(p, str, len) ((char *)memcpy((p), str, (len))+(len)) |
|
#define | append_str(p, str) append_str2(p, str, sizeof(str)-1) |
|
#define | append_lit(p, str) append_str2(p, str, rb_strlen_lit(str)) |
|
◆ append_lit
◆ append_str
◆ append_str2
◆ CC_CODEFLAG_ARGS
#define CC_CODEFLAG_ARGS (mjit_opts.debug ? CC_DEBUG_ARGS : CC_OPTIMIZE_ARGS) |
◆ GCC_NOSTDLIB_FLAGS
#define GCC_NOSTDLIB_FLAGS |
◆ GCC_PIC_FLAGS
#define GCC_PIC_FLAGS /* empty */ |
◆ MAXPATHLEN
◆ MJIT_ATOMIC_SET
◆ MJIT_CFLAGS_PIPE
#define MJIT_CFLAGS_PIPE 0 |
◆ MJIT_TMP_PREFIX
#define MJIT_TMP_PREFIX "_ruby_mjit_" |
◆ USE_JIT_COMPACTION
#define USE_JIT_COMPACTION 1 |
◆ anonymous enum
Enumerator |
---|
PCH_NOT_READY | |
PCH_FAILED | |
PCH_SUCCESS | |
Definition at line 263 of file mjit_worker.c.
◆ mjit_capture_cc_entries()
◆ mjit_iseq_cc_entries()
◆ mjit_valid_class_serial_p()
bool mjit_valid_class_serial_p |
( |
rb_serial_t |
class_serial | ) |
|
◆ mjit_worker()
void mjit_worker |
( |
void |
| ) |
|
Definition at line 1418 of file mjit_worker.c.
References rb_iseq_struct::body, rb_mjit_unit_list::head, rb_mjit_unit::iseq, rb_mjit_unit_list::length, MJIT_ATOMIC_SET, mjit_enabled, mjit_opts, PCH_FAILED, PCH_NOT_READY, RB_DEBUG_COUNTER_INC, RB_DEBUG_COUNTER_INC_IF, rb_native_cond_signal(), rb_native_cond_wait(), rb_mjit_unit::stale_p, and rb_mjit_unit::unode.
◆ rb_mjit_compiling_iseq_p()
◆ rb_native_cond_broadcast()
◆ rb_native_cond_destroy()
◆ rb_native_cond_initialize()
◆ rb_native_cond_signal()
◆ rb_native_cond_wait()
◆ rb_native_mutex_destroy()
void rb_native_mutex_destroy |
( |
rb_nativethread_lock_t * |
lock | ) |
|
◆ rb_native_mutex_initialize()
void rb_native_mutex_initialize |
( |
rb_nativethread_lock_t * |
lock | ) |
|
◆ rb_native_mutex_lock()
void rb_native_mutex_lock |
( |
rb_nativethread_lock_t * |
lock | ) |
|
◆ rb_native_mutex_unlock()
void rb_native_mutex_unlock |
( |
rb_nativethread_lock_t * |
lock | ) |
|
◆ ruby_waitpid_locked()
Definition at line 1198 of file process.c.
References assert, waitpid_state::cond, waitpid_state::ec, waitpid_state::errnum, waitpid_state::options, waitpid_state::pid, rb_native_cond_wait(), rb_native_mutex_lock(), rb_native_mutex_unlock(), rb_sigwait_fd_get(), rb_sigwait_fd_put(), rb_sigwait_sleep(), waitpid_state::ret, ruby_thread_has_gvl_p(), waitpid_state::status, rb_vm_struct::waiting_grps, rb_vm_struct::waiting_pids, rb_vm_struct::waitpid_lock, waitpid_state::wnode, and WNOHANG.
◆ mjit_call_p
◆ mjit_enabled
bool mjit_enabled = false |
◆ mjit_opts
struct mjit_options mjit_opts |