MIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.

Port r22379 (fb62653)

Original commit message:
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=akos.palfi@imgtec.com

Review URL: https://codereview.chromium.org/389373004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Remove ASSERT since there are tons of different ASSIGN variants

Port r22382 (84a841f)

BUG=
R=akos.palfi@imgtec.com

Review URL: https://codereview.chromium.org/395503002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use the same registers for StoreIC and KeyedStoreIC.

Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/390013002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge