Minor Object.observe optimizations

This patch includes the follow two minor optimizations:

1) When Object.unobserve-ing, instead of deleting from changeObservers, set the index position to null, and null-check when iterating elsewhere
2) Isolate creation of null-proto objects inside a utility function

These former (deleting) was clearly showing up in d8 --prof traces and the later was preventing optimization of containing functions because of non-standard literal. Combined, on MDV construction/teardown benchmark, saves about 10%.

Note that this patch also cleans up retrieving objectInfo inside a utility function.

R=rossberg@chromium.org, rossberg
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Implement sqrt in inline assembly.

Call VSQRT directly to avoid the tiniest (1ulp) precision
error that occurs in the system-supplied sqrt on QNX/ARM.

All precision tests in SunSpider are now passing on this platform.

BUG=
R=bmeurer@chromium.org

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

Patch from Cosmin Truta <ctruta@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Convert some ifdefs to use their V8_OS_* macros equivalents.

R=bmeurer@chromium.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
FunctionLiteral has work to do in the typing phase.

In crankshaft, we searched un-optimized code for a SharedFunctionInfo
that matches the FunctionLiteral we are processing. Ideally, this
work should be done in the typing phase.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add Isolate parameter to HandleScope::NumberOfHandles.

LOG=y
BUG=324225
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.24.14.

R=rossberg@chromium.org
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix invalid debug code assertion on x64.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Promises: some adaptations to spec

- Rename Promise.{resolved,rejected,deferred} to Promise.{resolve,reject,defer}
- Rename Promise.one to Promise.race
- Make all failures asynchronous, EXCEPT type errors for resolver
- Disallow non-construct call to Promise constructor
- Don't make combinators go through public this.defer

Also, don't bother using IsCallable.

R=dslomov@chromium.org, yhirano@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Be sure to also register the BinaryOpWithAllocationSiteStub.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00