op.c:ck_open: Make hint lookup conditional on HINT_LOCALIZE_HH
authorFather Chrysostomos <sprout@cpan.org>
Sat, 2 Nov 2013 13:48:13 +0000 (06:48 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 4 Nov 2013 13:10:17 +0000 (05:10 -0800)
This makes this just a teeny tiny bit faster.

HINT_LOCALIZE_HH will have been set in PL_hints if %^H has anything
in it.  So bypass the hash lookup altogether if that flag is not set.

op.c

diff --git a/op.c b/op.c
index 86fe99f..40df34a 100644 (file)
--- a/op.c
+++ b/op.c
@@ -9620,7 +9620,8 @@ OP *
 Perl_ck_open(pTHX_ OP *o)
 {
     dVAR;
-    HV * const table = GvHV(PL_hintgv);
+    HV * const table =
+       PL_hints & HINT_LOCALIZE_HH ? GvHV(PL_hintgv) : NULL;;
 
     PERL_ARGS_ASSERT_CK_OPEN;