aboutsummaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-01-14 02:15:00 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-01-14 02:15:00 +0000
commite8108a0492742a538b88748975e9417a6853c6ca (patch)
tree1b138f11495e1018e543f6e780963d04769e031f /hash.c
parent323f350e76a074df7066bbc153fd1808e50559a1 (diff)
downloadruby-e8108a0492742a538b88748975e9417a6853c6ca.tar.gz
hash.c: trivial optimization
* hash.c (rb_hash_initialize_copy): trivial optimization, copy HASH_PROC_DEFAULT bit directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/hash.c b/hash.c
index b06d651343..81a5e6b024 100644
--- a/hash.c
+++ b/hash.c
@@ -1573,12 +1573,8 @@ rb_hash_initialize_copy(VALUE hash, VALUE hash2)
st_clear(ntbl);
}
- if (FL_TEST(hash2, HASH_PROC_DEFAULT)) {
- FL_SET(hash, HASH_PROC_DEFAULT);
- }
- else {
- FL_UNSET(hash, HASH_PROC_DEFAULT);
- }
+ FL_UNSET_RAW(hash, HASH_PROC_DEFAULT);
+ FL_SET_RAW(hash, FL_TEST_RAW(hash2, HASH_PROC_DEFAULT));
RHASH_SET_IFNONE(hash, RHASH_IFNONE(hash2));
return hash;