Mercurial > octave-nkf
diff src/interp-core/jit-typeinfo.cc @ 15124:0464e3ceb85b
Skip functions when resolving end context in JIT
* src/interp-core/jit-ir.cc (jit_magic_end::resolve_context): Skip functions.
* src/interp-core/jit-typeinfo.cc (jit_type::jit_type): Add askip_paren
parameter.
(jit_typeinfo::addbuiltin): Skip end resolution for builtin functions.
* src/interp-core/jit-typeinfo.h (jit_type::skip_paren): New function.
(jit_typeinfo::new_type): Add skip_paren argument.
author | Max Brister <max@2bass.com> |
---|---|
date | Tue, 07 Aug 2012 14:59:58 -0500 |
parents | d29f2583cf7b |
children | bd6bb87e2bea |
line wrap: on
line diff
--- a/src/interp-core/jit-typeinfo.cc Tue Aug 07 09:01:02 2012 -0700 +++ b/src/interp-core/jit-typeinfo.cc Tue Aug 07 14:59:58 2012 -0500 @@ -500,9 +500,9 @@ // -------------------- jit_type -------------------- jit_type::jit_type (const std::string& aname, jit_type *aparent, - llvm::Type *allvm_type, int aid) : + llvm::Type *allvm_type, bool askip_paren, int aid) : mname (aname), mparent (aparent), llvm_type (allvm_type), mid (aid), - mdepth (aparent ? aparent->mdepth + 1 : 0) + mdepth (aparent ? aparent->mdepth + 1 : 0), mskip_paren (askip_paren) { std::memset (msret, 0, sizeof (msret)); std::memset (mpointer_arg, 0, sizeof (mpointer_arg)); @@ -1800,9 +1800,9 @@ jit_type* jit_typeinfo::new_type (const std::string& name, jit_type *parent, - llvm::Type *llvm_type) + llvm::Type *llvm_type, bool skip_paren) { - jit_type *ret = new jit_type (name, parent, llvm_type, next_id++); + jit_type *ret = new jit_type (name, parent, llvm_type, skip_paren, next_id++); id_to_type.push_back (ret); return ret; } @@ -1918,7 +1918,7 @@ void jit_typeinfo::add_builtin (const std::string& name) { - jit_type *btype = new_type (name, any, any->to_llvm ()); + jit_type *btype = new_type (name, any, any->to_llvm (), true); builtins[name] = btype; octave_builtin *ov_builtin = find_builtin (name);