changeset 24247:4e045a476598

jit: jit-typeinfo.cc: Introduce a local variable for clarity
author Julien Bect <jbect@users.sourceforge.net>
date Wed, 09 Aug 2017 08:32:06 +0200
parents d74d01e39f91
children af23baa0a9da
files libinterp/parse-tree/jit-typeinfo.cc
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/jit-typeinfo.cc	Tue Aug 08 22:00:50 2017 +0200
+++ b/libinterp/parse-tree/jit-typeinfo.cc	Wed Aug 09 08:32:06 2017 +0200
@@ -790,10 +790,13 @@
   jit_operation::add_overload (const jit_function& func,
                                const std::vector<jit_type*>& args)
   {
-    if (args.size () >= overloads.size ())
-      overloads.resize (args.size () + 1);
+    // Number of input arguments of the overload that is being registered
+    size_t nargs = args.size ();
 
-    Array<jit_function>& over = overloads[args.size ()];
+    if (nargs >= overloads.size ())
+      overloads.resize (nargs + 1);
+
+    Array<jit_function>& over = overloads[nargs];
     dim_vector dv (over.dims ());
     Array<octave_idx_type> idx = to_idx (args);
     bool must_resize = false;
@@ -820,15 +823,18 @@
   const jit_function&
   jit_operation::overload (const std::vector<jit_type*>& types) const
   {
+  // Number of input arguments of the overload that is being looked for
+  size_t nargs = types.size ();
+
     static jit_function null_overload;
-    for (size_t i = 0; i < types.size (); ++i)
+    for (size_t i = 0; i < nargs; ++i)
       if (! types[i])
         return null_overload;
 
-    if (types.size () >= overloads.size ())
+    if (nargs >= overloads.size ())
       return do_generate (types);
 
-    const Array<jit_function>& over = overloads[types.size ()];
+    const Array<jit_function>& over = overloads[nargs];
     dim_vector dv (over.dims ());
     Array<octave_idx_type> idx = to_idx (types);
     for (octave_idx_type i = 0; i < dv.length (); ++i)