code: function hash(str, prime) {
              utils.dassert(isValue(str));
              var hash = 5381;
              if(isValue(prime)) {
                  hash = prime;
              }
              var len = str.length;
              for(var i = 0; i < len; i++) {
                  hash = ((hash << 5) - hash) + str.charCodeAt(i);
                  hash = hash & hash;
              }
              return hash;
          }
docs: /*
  String hash, see http://www.cse.yorku.ca/~oz/hash.html