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);