X87: Clean up and update const / var
port r22379
original commit message:
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.
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=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
397573002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22395
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00