Go to file
rmcilroy@chromium.org 6eb9e02b00 DoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it
This previous change broke DoubleToIStub on armv6:
https://code.google.com/p/v8/source/detail?r=16322

The problem is that DoubleToIStub::Generate assumed that it could safely use the ip register, but on armv6 the ubfx implementation will clobber any previous value stored there.  So instead, pick another register.

Test case:
for (var i=0; i<2; i++) {
	v = 4294967295;
	v &= -2;
	print(v)
	}

This should print -2 twice, but on armv6 without this patch, it prints -2 followed by 2046.

This problem causes sunspider's bitops-nsieve-bit, crypto-md5 and crypto-sha1 tests to generate incorrect results (but the results are not checked for validity in sunspider-1.0 as available in chromium, but are checked and reported as incorrect in sunspider-1.0.2).

Thanks to Tomasz Kilarski for helping out with this.

R=bmeurer@chromium.org, rmcilroy@chromium.org

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 11:30:48 +00:00
benchmarks Fix bug in nextWeaker function of deltablue benchmark. 2013-10-25 13:21:46 +00:00
build Introduce a setting to control the toolset for which d8 is compiled 2014-01-17 09:11:22 +00:00
include String:WriteUtf8: Add REPLACE_INVALID_UTF8 option 2014-01-20 09:52:54 +00:00
samples Prepare removal of ObjectTemplate::New without Isolate parameter. 2014-01-08 06:53:31 +00:00
src DoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it 2014-01-20 11:30:48 +00:00
test Revert "ES6: Implement Object.setPrototypeOf" 2014-01-20 10:59:07 +00:00
tools Activate calling push-to-trunk in auto-roll script. 2014-01-17 11:29:43 +00:00
.clang-format Change clang-format config to allow for two empty lines between functions 2013-12-03 10:39:21 +00:00
.gitignore Migrate to new test status file syntax 2013-09-24 12:08:33 +00:00
AUTHORS Add support for the QNX operating system. 2014-01-02 07:04:05 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.24.20. 2014-01-20 07:57:07 +00:00
codereview.settings Add settings for try server. 2013-12-17 12:24:25 +00:00
DEPS Roll gyp 1830:1831 2014-01-08 15:54:46 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Roll gyp 1830:1831 2014-01-08 15:54:46 +00:00
Makefile.android Fix standalone Android and NaCl Makefiles to support arm_version=7 and optdebug 2013-12-16 15:50:34 +00:00
Makefile.nacl Fix standalone Android and NaCl Makefiles to support arm_version=7 and optdebug 2013-12-16 15:50:34 +00:00
OWNERS Add dcarney to V8 OWNERS 2013-12-03 10:24:41 +00:00
PRESUBMIT.py Revert "Add debug output to presubmit script for investigating tree check behavior." and "Add more temporary debugging output to PRESUBMIT.py". 2014-01-10 15:17:49 +00:00
WATCHLISTS Add myself to a watchlist for the public API. 2013-10-10 11:37:48 +00:00