                 merge_bb = new llvm.BasicBlock "merge", insertFunc
 
                 # we invert the test here - check if the condition is false/0
-                cmp = irbuilder.createICmpEq cond_truthy, (llvm.Constant.getIntegerValue boolType, 0), "cmpresult"
+                cmp = irbuilder.createICmpEq cond_truthy, (boolConstant 0), "cmpresult"
                 irbuilder.createCondBr cmp, else_bb, then_bb
 
                 irbuilder.setInsertPoint then_bb

                result = @createAlloca @currentFunction, EjsValueType, "%update_result"
                argument = @visit n.argument
                
                one = irbuilder.createLoad @ejs['one'], "load_one"
                
                if not n.prefix
                        # postfix updates store the argument before the op
                        irbuilder.createStore argument, result

                # argument = argument $op 1
                temp = @createCall @ejs["binop#{if n.operator is '++' then '+' else '-'}"], [argument, one], "update_temp"
                
                @storeValueInDest temp, n.argument
                

                        debug.log "createPropertyStore #{obj}[#{pname}]"
                        
                        c = irbuilder.createGlobalStringPtr pname, "strconst"
                        @createCall @ejs_runtime.object_setprop_utf8, [obj, c, rhs], "propstore_#{pname}"
                
        createPropertyLoad: (obj,prop,computed,canThrow = true) ->
                if computed
                        # we load obj[prop], prop can be any value
                        loadprop = @visit prop
                        pname = "computed"
                        @createCall @ejs_runtime.object_getprop, [obj, loadprop], "getprop_#{pname}"
                else
                        # we load obj.prop, prop is an id
                        pname = prop.name
                        c = irbuilder.createGlobalStringPtr pname, "propname_#{pname}"
                        @createCall @ejs_runtime.object_getprop_utf8, [obj, c], "getprop_#{pname}", canThrow
                

        createLoadThis: () ->
