Strings) are nearly >7X slower under v8
calculating the hashcode. add array-map w/ symbols benchmarks where we don't avoid the cost of constructing symbols everytime, seems ~1.5X slower under v8
and intended for dealing with objects passing between different JS contexts, something we don't support in general anyway.
direct protocol invokes of the form `(-foo ^hint x y ...)`. now that we have `(satisfies Proto x false)` we can direct dispatch after the test - hint these as ^not-native.
where we handle JS strings and array cases directly. Disable JS native hash table lookup where it makes sense. goog.getUid -> goog/getUid, goog.isArray -> goog/isArray so we emit direct JS calls.
disable JS native hash table lookup. this way if a protocol test fails, we don't pay when we're going to handle the natives cases directly anyway.
property on ctor. remove pr-str calls from deftypes. Fix Subvec compare bug.
them if satisfies? ISeqable fails
fns now do this work
elimination around printing.
sorted map related code if never used.
compiled code. we may want to revisit special handling for REPLs. for spectral norm benchmark code this results in ~500 fewer lines being emitted under pretty printed advanced compilation.