                 rv
 
         visitObjectExpression: (n) ->
-                obj = @createCall @ejs.object_new, [@loadNullEjsValue()], "objtmp"
+                obj = @createCall @ejs.object_create, [@loadNullEjsValue()], "objtmp"
                 for property in n.properties
                         val = @visit property.value
                         key = property.key

                                pname = prop.value

                        debug.log "createPropertyStore #{obj}[#{pname}]"

                        c = irbuilder.createGlobalStringPtr pname, "strconst"
                        @createCall @ejs.object_setprop_utf8, [obj, c, rhs], "propstore_#{pname}"
                

                if n.value is null
                        debug.log "literal: null"
                        return @loadNullEjsValue() # this isn't properly typed...  dunno what to do about this here
                else if n.value is undefined
                        debug.log "literal: undefined"
                        return @loadUndefinedEjsValue() # this isn't properly typed...  dunno what to do about this here
                else if typeof n.raw is "string" and (n.raw[0] is '"' or n.raw[0] is "'")
                        debug.log "literal string: #{n.value}"

