Mercurial > octave
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)