                 strglobal
 
         generateEJSValueForString: (id) ->
-                name = "ejsval-string-#{id}"
+                name = "ejsval-#{id}"
                 strglobal = new llvm.GlobalVariable @module, types.EjsValue, name, (consts.int64 0) #llvm.Constant.getAggregateZero types.EjsValue
                 @module.getOrInsertGlobal name, types.EjsValue
                 

                        ir.createStore new_slot_val, slotref
                new_slot_val

        handleSlotRef: (exp) ->
                env = @visitOrNull exp.arguments[0]
                slotnum = exp.arguments[1].value

                if opencode_intrinsics and @options.target_pointer_size is 64
                        envp = @emitEjsvalTo env, types.EjsClosureEnv.pointerTo(), "closureenv"
                        ir.createInBoundsGetElementPointer envp, [(consts.int64 0), (consts.int32 2), (consts.int64 slotnum), (consts.int32 0)], "slot_ref"
                else
                        ir.createCall @ejs_runtime.get_env_slot_ref, [env, (consts.int32 slotnum)], "slot_ref_tmp"

        handleTypeofIsObject: (exp) ->
                if opencode_intrinsics and @options.target_pointer_size is 64
                        cmp = ir.createICmpUGt (@visitOrNull exp.arguments[0]), (consts.int64_lowhi 0xfffbffff, 0xffffffff), "cmpresult"
                        rv = ir.createSelect cmp, (@loadBoolEjsValue true), (@loadBoolEjsValue false), "sel"
                        rv._ejs_returns_ejsval_bool = true

                        
                ir.setInsertPoint merge_block

        handleGetLocal: (exp, opencode) ->
                source = @findIdentifierInScope exp.arguments[0].name
                if source?
                        return @createLoad source, "load_#{exp.arguments[0].name}"
