diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-12-04 17:16:30 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-12-26 20:45:12 +0900 |
commit | 5e22f873ed26092522f9bfc617d729bac88b284f (patch) | |
tree | 8d66856526cd7efa87b46c966298e6f42d67e68f /vm_insnhelper.c | |
parent | 33e9601938a79dae149caa88ff1bc06d376dd376 (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_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 0cd4bdefe9..8cc47e15af 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -8,18 +8,29 @@ **********************************************************************/ -/* finish iseq array */ -#include "insns.inc" -#ifndef MJIT_HEADER -#include "insns_info.inc" -#endif +#include "ruby/config.h" + #include <math.h> + #include "constant.h" +#include "debug_counter.h" #include "internal.h" +#include "internal/class.h" +#include "internal/compar.h" +#include "internal/hash.h" +#include "internal/numeric.h" +#include "internal/proc.h" +#include "internal/random.h" +#include "internal/variable.h" #include "ruby/config.h" -#include "debug_counter.h" #include "variable.h" +/* finish iseq array */ +#include "insns.inc" +#ifndef MJIT_HEADER +#include "insns_info.inc" +#endif + extern rb_method_definition_t *rb_method_definition_create(rb_method_type_t type, ID mid); extern void rb_method_definition_set(const rb_method_entry_t *me, rb_method_definition_t *def, void *opts); extern int rb_method_definition_eq(const rb_method_definition_t *d1, const rb_method_definition_t *d2); |