- JS js = (JS)internHash.get(s);
- if(js == null) internHash.put(s,js = new JSString(s));
- return js;
+ synchronized(internHash) {
+ JS js = (JS)internHash.get(s);
+ if(js == null) internHash.put(s,js = new Intern(s));
+ return js;
+ }
+ }
+ static class Intern extends JSString {
+ public Intern(String s) { super(s); }
+ protected void finalize() { synchronized(internHash) { internHash.put(s,null); } }