summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2019-12-04 17:16:30 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2019-12-26 20:45:12 +0900
commit5e22f873ed26092522f9bfc617d729bac88b284f (patch)
tree8d66856526cd7efa87b46c966298e6f42d67e68f /vm.c
parent33e9601938a79dae149caa88ff1bc06d376dd376 (diff)
decouple internal.h headers
Saves comitters' daily life by avoid #include-ing everything from internal.h to make each file do so instead. This would significantly speed up incremental builds. We take the following inclusion order in this changeset: 1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very first thing among everything). 2. RUBY_EXTCONF_H if any. 3. Standard C headers, sorted alphabetically. 4. Other system headers, maybe guarded by #ifdef 5. Everything else, sorted alphabetically. Exceptions are those win32-related headers, which tend not be self- containing (headers have inclusion order dependencies).
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2711
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/vm.c b/vm.c
index bb3ffae078..d4a1d4437e 100644
--- a/vm.c
+++ b/vm.c
@@ -8,17 +8,33 @@
**********************************************************************/
-#include "internal.h"
-#include "ruby/vm.h"
-#include "ruby/st.h"
-
#define vm_exec rb_vm_exec
+#include "eval_intern.h"
#include "gc.h"
+#include "internal.h"
+#include "internal/compile.h"
+#include "internal/cont.h"
+#include "internal/debug.h"
+#include "internal/error.h"
+#include "internal/eval.h"
+#include "internal/inits.h"
+#include "internal/mjit.h"
+#include "internal/object.h"
+#include "internal/parse.h"
+#include "internal/proc.h"
+#include "internal/re.h"
+#include "internal/symbol.h"
+#include "internal/vm.h"
+#include "iseq.h"
+#include "mjit.h"
+#include "ruby/st.h"
+#include "ruby/vm.h"
#include "vm_core.h"
#include "vm_debug.h"
-#include "iseq.h"
-#include "eval_intern.h"
+#include "vm_exec.h"
+#include "vm_insnhelper.h"
+
#include "builtin.h"
#ifndef MJIT_HEADER
@@ -338,9 +354,6 @@ extern VALUE rb_vm_invoke_bmethod(rb_execution_context_t *ec, rb_proc_t *proc, V
const rb_callable_method_entry_t *me);
static VALUE vm_invoke_proc(rb_execution_context_t *ec, rb_proc_t *proc, VALUE self, int argc, const VALUE *argv, int kw_splat, VALUE block_handler);
-#include "mjit.h"
-#include "vm_insnhelper.h"
-#include "vm_exec.h"
#include "vm_insnhelper.c"
#ifndef MJIT_HEADER