Small improvement to String.trim

Benchmark comparison for this change: 
http://jsperf.com/java-lang-string-trim

Change-Id: Id75da0f2382b508ee76e84afea81ff532197f369
Two small fixes in JsoDevirtualizer.

Devirtualizer was failing to devirtualize calls in rare circumstances
due to direct comparison to typeJavaLangObject without consideration
of JNonNullType.

ReplaceGetClassOverrides was failing to replace Object.getClass() by
Object.__clazz. This second error was introduced by the recent
refactoring of cast handling patch.

Change-Id: I73b434fadef120f9dded2c0047576ea7754c23c6
Slightly optimize System.nativeArraycopy for the common case

Only make a temporary copy of the input when it's the same as the output.
Performance: http://jsperf.com/java-system-arraycopy/2

Bug: issue 8239
Change-Id: I68d8ea36b11545711a657d842d845d4f72bbbd2f
Assign integer type ids by frequency for code size.

Change-Id: Icba5301fd32bb94e94f49f5109f378218f51f4ea
Fixes GWT-SDK compatibility problems under certain locales

(i.e. Infamus Turkish locale bug:
http://mattryall.net/blog/2009/02/the-infamous-turkish-locale-bug)

Bug: issue 5565, issue 7893
Change-Id: I9a033092c05bbc302f77add966603fa500366bb4
Review-Link: https://gwt-review.googlesource.com/#/c/6395/
Revert "Slightly optimize System.nativeArraycopy for the common case"

This reverts commit 40ce532013b5510bb541e567132678125bd34acb.

Breaks tests due to typo. Will send fix in comment on the original patch.

Change-Id: I04a2b676d23666732203542434c2c97ea380ac4c
Default softPermutationId to 0.

This fixes soft rebinding for permutation 0, where previously
module.__softPermutationId would become undefined (because permutation
0's strong name does not have a :0 suffix).

This resulted in the runtime "switch (permutationId)" logic always
picking the default binding (which may/may not be the one for
permutation 0).

Bug: issue 8575
Change-Id: I19a6f9650f5414d98905c0e45cd3a78628b05dd2
Reduce code size for array instance creation.

Change-Id: Ieae890762f6173909b290dab820cc024291fdc00
Use named function expressions when namespaces are on

This is so that we get the same stack traces as when
namespaces are off.

I verified that server-side stack traces are correct in
Chrome and Firefox. Also, StackTraceCreatorTest now passes
when using TestGal/Super Dev Mode/Firefox 27.

Change-Id: Id37e0095d90935b11e45b495d8f2ae18eaffafaf
Review-Link: https://gwt-review.googlesource.com/#/c/6450/
Adds a lazy LibraryTypeOracle.

Adds type source name indexing of nested classes to Libraries and
LibraryGroups so that they can honor such CompilationUnit lookups
coming from TypeOracles.

Added a guard to make sure that only valid compilation units are added
to zip libraries, since any caller that lazily reads out individual
CompilationUnits at some later time might not have enough context to do
validation.

Taught CompilationStateBuilder to instantiate the right
TypeOracle/LibraryTypeOracle for the current monolithic or
non-monolithic compile mode.

Turned the Resolver interface's getTypesByInternalName() function into a
findByInternalName(String) function since lookups are no longer always
as simple as a hash lookup. findByInternalName becomes a lazy load
point in LibraryTypeOracle.

Change-Id: I03867308682f70cb811219b01f42b7e0f6e8963b
Review-Link: https://gwt-review.googlesource.com/#/c/6461/
Makes runtime type metadata and class hierarchy setup more readable.

At runtime a map from RuntimeTypeIds to JavaScript prototypes is kept
at JavaClassHierarchySetupUtil.prototypesForTypeId. Gets rid of the
concept of seed and renames all usages accordingly, favoring to store
protypes directly instead.

This is an interim patch as class layout is likely to change.

TODO.
 - Fix or deprecate deRPC.

Change-Id: Ifc50508b6d49f3fa7aa8740d5ade46a247209b31
Remove the patching of String.prototype.

String.prototype patching should have been removed in the recent
cast refactoring path but mistakenly was not.

Change-Id: Ie1f10a57b4d803da2a70e5bc13214222ef9dfb17
Fixed a small error in Permutation.mergeFrom.

An assertion was checking the wrong condition, when merging permutations
that where collapsed (hence had more that one set of rebind answers).
Now only corresponding sets of answers are checked.

Change-Id: Ifce2688485a3384cf0eefdbc21116cfa67ab1b61
Slightly optimize System.nativeArraycopy for the common case.

Only make a temporary copy of the input when it's the same as the
output.
Performance: http://jsperf.com/java-system-arraycopy/2

Bug: issue 8239
Change-Id: I86a6c512e4670594c1e6e4cb9418cbac029152f1
Speed-up ArtifactSet.

This introduces a Multimap, which makes selection of matching entries
O(# of Artifact subclasses) instead of O(# of Artifacts).

Additionally, this change caches results of finds.  Experimentally,
this seems to make a difference.

Downsides: It consumes more memory to keep the Multiset and it's
slower for Sets where find is called only once.

Change-Id: I8411f44216f14f9bc0eb7b2a0860343d23babfc2
Review-Link: https://gwt-review.googlesource.com/#/c/6200/
A slight improvement for Collections comparators.

Moved reverse order comparator to internal Comparators
to delay its initialization.

Change-Id: If8ecb0367f59b5659881331f9967604153700a2f
Merge remote-tracking branch 'upstream/master'