Mercurial > octave-nkf
diff src/interp-core/jit-typeinfo.h @ 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.h Tue Aug 07 09:01:02 2012 -0700 +++ b/src/interp-core/jit-typeinfo.h Tue Aug 07 14:59:58 2012 -0500 @@ -132,7 +132,7 @@ typedef llvm::Value *(*convert_fn) (llvm::IRBuilderD&, llvm::Value *); jit_type (const std::string& aname, jit_type *aparent, llvm::Type *allvm_type, - int aid); + bool askip_paren, int aid); // a user readable type name const std::string& name (void) const { return mname; } @@ -151,6 +151,8 @@ size_t depth (void) const { return mdepth; } + bool skip_paren (void) const { return mskip_paren; } + // -------------------- Calling Convention information -------------------- // A function declared like: mytype foo (int arg0, int arg1); @@ -195,6 +197,7 @@ llvm::Type *llvm_type; int mid; size_t mdepth; + bool mskip_paren; bool msret[jit_convention::length]; bool mpointer_arg[jit_convention::length]; @@ -625,7 +628,7 @@ jit_value *count); jit_type *new_type (const std::string& name, jit_type *parent, - llvm::Type *llvm_type); + llvm::Type *llvm_type, bool skip_paren = false); void add_print (jit_type *ty, void *fptr);