aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--encoding.c4
-rw-r--r--internal.h3
-rw-r--r--thread.c2
4 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f6623579c7..7499920fff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Tue Jul 2 17:22:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jul 2 17:22:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * internal.h (rb_{ascii8bit,utf8,usascii}_encindex): use built-in
+ encoding indexes for optimization.
* encoding.c (enc_inspect, rb_locale_encindex),
(enc_set_filesystem_encoding, rb_filesystem_encindex): use built-in
diff --git a/encoding.c b/encoding.c
index 396a34c291..d83fc2d002 100644
--- a/encoding.c
+++ b/encoding.c
@@ -24,6 +24,10 @@
#endif
#include "ruby/util.h"
+#undef rb_ascii8bit_encindex
+#undef rb_utf8_encindex
+#undef rb_usascii_encindex
+
#if defined __GNUC__ && __GNUC__ >= 4
#pragma GCC visibility push(default)
int rb_enc_register(const char *name, rb_encoding *encoding);
diff --git a/internal.h b/internal.h
index cd7117c518..8c716e7be7 100644
--- a/internal.h
+++ b/internal.h
@@ -209,6 +209,9 @@ enum ruby_preserved_encindex {
ENCINDEX_BUILTIN_MAX
};
#endif
+#define rb_ascii8bit_encindex() ENCINDEX_ASCII
+#define rb_utf8_encindex() ENCINDEX_UTF_8
+#define rb_usascii_encindex() ENCINDEX_US_ASCII
ID rb_id_encoding(void);
void rb_gc_mark_encodings(void);
diff --git a/thread.c b/thread.c
index 40a21bd7bb..babec1f51e 100644
--- a/thread.c
+++ b/thread.c
@@ -59,10 +59,10 @@
#include "eval_intern.h"
#include "gc.h"
-#include "internal.h"
#include "timev.h"
#include "ruby/io.h"
#include "ruby/thread.h"
+#include "internal.h"
#ifndef USE_NATIVE_THREAD_PRIORITY
#define USE_NATIVE_THREAD_PRIORITY 0