     nio:
       charset:
         Charset$3: [
-          o 'run()Ljava/lang/Object;', (rs) -> rs.push 0 # null
+          o 'run()L!/lang/Object;', (rs) -> rs.push 0 # null
         ]
       Bits: [
-        o 'byteOrder()Ljava/nio/ByteOrder;', (rs) -> rs.static_get {'class':'java/nio/ByteOrder','sig':{'name':'LITTLE_ENDIAN'}}
+        o 'byteOrder()L!/!/ByteOrder;', (rs) -> rs.static_get {'class':'java/nio/ByteOrder','sig':{'name':'LITTLE_ENDIAN'}}
       ]
     io:
       PrintStream: [
-        o 'write(Ljava/lang/String;)V', (rs) ->
+        o 'write(L!/lang/String;)V', (rs) ->
             args = rs.curr_frame().locals
             str = rs.jvm2js_str(rs.get_obj(args[1]))
             rs.static_get {'class':'java/lang/System','sig':{'name':'out'}}; sysout = rs.pop()

  java:
    lang:
      Class: [
        o 'getPrimitiveClass(Ljava/lang/String;)Ljava/lang/Class;', (rs) ->
            str = rs.get_obj(rs.curr_frame().locals[0])
            carr = rs.get_obj(str.obj.value).obj.array
            name = (String.fromCharCode(c) for c in carr).join('') # XXX convert to unicode
            rs.push rs.set_obj 'java/lang/Class', { name: name }
        o 'getClassLoader0()Ljava/lang/ClassLoader;', (rs) -> rs.push 0  # we don't need no stinkin classloaders
        o 'desiredAssertionStatus0(Ljava/lang/Class;)Z', (rs) -> rs.push 0 # we don't need no stinkin asserts
        o 'getName0()Ljava/lang/String;', (rs) -> rs.push rs.init_string(rs.get_obj(rs.curr_frame().locals[0]).obj.name)
        o 'forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;', (rs) ->
            jvm_str = rs.get_obj(rs.curr_frame().locals[0])
            classname = rs.jvm2js_str(jvm_str).replace(/\./g,'/')
            throw "Class.forName0: Failed to load #{classname}" unless rs.class_lookup(classname)
            rs.push rs.set_obj 'java/lang/Class', { name:classname }
        o 'getComponentType()Ljava/lang/Class;', (rs) ->
            type = rs.get_obj(rs.curr_frame().locals[0]).obj.name
            component_type = /\[+(.*)/.exec(type)[1]
            rs.push rs.set_obj 'java/lang/Class', name:component_type

            for i in [src_pos...src_pos+length]
              dest_array[j++] = src_array[i]
        o 'currentTimeMillis()J', (rs) -> rs.push (new Date).getTime(), null
        o 'initProperties(L!/util/Properties;)L!/util/Properties;', (rs) ->
            p_ref = rs.curr_frame().locals[0]
            m = rs.method_lookup({'class':'java/util/Properties','sig':{'name':'setProperty'}})
            # properties to set:
