                 # actually going to use it.
                 if val is "arguments"
                         arguments_alloca = @createAlloca @currentFunction, EjsValueType, "local_arguments_object"
-                        saved_insert_point = llvm.IRBuilder.getInsertBlock()
-                        llvm.IRBuilder.setInsertPoint @currentFunction.entry_bb
-                        
-                        load_argc = llvm.IRBuilder.createLoad @currentFunction.topScope["%argc"], "argc_load"
-                        load_args = llvm.IRBuilder.createLoad @currentFunction.topScope["%args"], "args_load"
-
-                        arguments_object = llvm.IRBuilder.createCall @ejs.arguments_new, [load_argc, load_args], "argstmp"
-                        llvm.IRBuilder.createStore arguments_object, arguments_alloca
+                        saved_insert_point = irbuilder.getInsertBlock()
+                        irbuilder.setInsertPoint @currentFunction.entry_bb
+
+                        load_argc = irbuilder.createLoad @currentFunction.topScope["%argc"], "argc_load"
+                        load_args = irbuilder.createLoad @currentFunction.topScope["%args"], "args_load"
+
+                        arguments_object = irbuilder.createCall @ejs.arguments_new, [load_argc, load_args], "argstmp"
+                        irbuilder.createStore arguments_object, arguments_alloca
                         @currentFunction.topScope["arguments"] = arguments_alloca
 
-                        llvm.IRBuilder.setInsertPoint saved_insert_point
-                        rv = llvm.IRBuilder.createLoad arguments_alloca, "load_arguments"
+                        irbuilder.setInsertPoint saved_insert_point
+                        rv = irbuilder.createLoad arguments_alloca, "load_arguments"
                         return rv
-                        
-                        
+
                 rv = null
                 debug.log "calling getFunction for #{val}"
                 rv = @module.getFunction val

                iife_bb = null
                
                if n.fromIIFE
                        insertBlock = llvm.IRBuilder.getInsertBlock()
                        insertFunc = insertBlock.parent
                        
                        iife_rv = @createAlloca @currentFunction, EjsValueType, "%iife_rv"


                # create allocas for the builtin args
                for i in [0...BUILTIN_PARAMS.length]
                        alloca = irbuilder.createAlloca BUILTIN_PARAMS[i].llvm_type, "local_#{n.params[i].name}"
                        new_scope[n.params[i].name] = alloca
                        allocas.push alloca

                # create an alloca to store our 'EJSValue** args' parameter, so we can pull the formal parameters out of it
                args_alloca = irbuilder.createAlloca EjsValueType.pointerTo(), "local_%args"
                new_scope["%args"] = args_alloca
                allocas.push args_alloca

                # now create allocas for the formal parameters
                for param in n.params[BUILTIN_PARAMS.length..]
                        if param.type is syntax.Identifier
                                alloca = irbuilder.createAlloca EjsValueType, "local_#{param.name}"
                                new_scope[param.name] = alloca
                                allocas.push alloca
                        else
