sgjesse@chromium.org
1a343b3004
Fix infinite recursion in the compiler introduced in r7212
...
In most situations tests passed just causing a bailout from the compiler due to stack overflow. On Mac some tests actually did crash and of cause some benchmarks showed regressions due to this.
Review URL: http://codereview.chromium.org/6665064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 09:55:57 +00:00
whesse@chromium.org
4a820097d9
Fix some XMM and byte register names in the X64 disassembler.
...
Review URL: http://codereview.chromium.org/6672045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 09:23:48 +00:00
ricow@chromium.org
00daa3f510
Partially fix serializer which crashes on x64 running with no snapshot.
...
We used the wrong heap space number when reading in code chunks (we
used LO_SPACE, should use kLargeCode).
Review URL: http://codereview.chromium.org/6670083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 08:16:27 +00:00
sgjesse@chromium.org
1a6c821b05
Increase coverage of global loads in optimized code
...
In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out.
Review URL: http://codereview.chromium.org/6665026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 08:16:12 +00:00
sgjesse@chromium.org
ec82215b44
Add a preprocessor symbol to have printing on Android use stdout instead of the system log
...
This is convenient for debugging on Android as one don't have to go to the system log for printf based debugging.
Review URL: http://codereview.chromium.org/6672041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 07:34:37 +00:00
ager@chromium.org
4f7fe371b2
Fix Array::New(length) in the API to return an array with the provided length.
...
The internal factory method initializes the elements but does not set
the length property of the array.
Add array api test case for length.
R=antonm@chromium.org
BUG=v8:1256
TEST=cctest/test-api/Array
Review URL: http://codereview.chromium.org/6674034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 19:55:31 +00:00
fschneider@chromium.org
a20ee85139
Refactor lithium CheckSmi instruction into two separate instructions CheckSmi and CheckNonSmi.
...
There is no need to store the branch condition separately in the LIR.
Review URL: http://codereview.chromium.org/6673082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 16:28:06 +00:00
whesse@chromium.org
0584aa3e32
Fix some register names in the ia32 disassembler. Byte register and XMM register names were sometimes not used, or used where they shouldn't be.
...
Review URL: http://codereview.chromium.org/6702001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 16:11:14 +00:00
sgjesse@chromium.org
351a108dfc
ARM: Fix the debugger using wrong break stub for slot breaks
...
On ARM the break at break slots wrongly used the break at return stub which assumes an object opinter in r0. At break slots there are no objects live in registers so a GC while at a break on a break stub could cause a crash as r0 was wrongly pushed on a internal frame to be handled by GC.
Review URL: http://codereview.chromium.org/6676037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 12:47:43 +00:00
antonm@chromium.org
a7bb1d5278
Introduce one way dependencies into object grouping.
...
Those are necessary to properly manage relationship between objects in cases
when they don't form proper tree structure.
Review URL: http://codereview.chromium.org/6686053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 12:02:28 +00:00
ager@chromium.org
e181bd2b6f
Use full paths for cctests.
...
Review URL: http://codereview.chromium.org/6670045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 11:16:18 +00:00
erik.corry@gmail.com
6c6a998e4e
* Fix build errors on FreeBSD 8.2
...
* Fix Crankshaft on FreeBSD.
* Partially fix profiling on FreeBSD.
* Remove bash-isms from tick processor script.
Review URL: http://codereview.chromium.org/6673045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 11:15:43 +00:00
ager@chromium.org
ac1eb2d9a2
Disable v8 benchmark run from standard test.py runs.
...
Let's add it as a separate test run on the buildbots.
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6667039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 10:03:13 +00:00
ager@chromium.org
8a5e4837f8
Add a V8 benchmark suite run to test.py to catch failures on the buildbot.
...
Review URL: http://codereview.chromium.org/6698029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 09:45:28 +00:00
erik.corry@gmail.com
5ea0364a6a
Fix incorrect assumption on bit-and on ARM
...
Review URL: http://codereview.chromium.org/6696037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 21:56:12 +00:00
mmaly@chromium.org
d12d1c40cc
Strict mode renames and formatting cleanup.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6693014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 18:20:10 +00:00
vitalyr@chromium.org
2852c55356
Use a class field instead of global FLAG_debug_code in assember and
...
macro assembler.
This way we can avoid changing the global flag value.
Review URL: http://codereview.chromium.org/6677044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 14:49:10 +00:00
vitalyr@chromium.org
76b4113416
Use NativesFlag to allow/disallow natives syntax during compilation.
...
This way we can avoid changing the value of FLAG_allow_natives_syntax.
Review URL: http://codereview.chromium.org/6694024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 14:26:55 +00:00
ricow@chromium.org
e8ff324583
Follow Safari on not throwing when __defineGetter__ fails.
...
In addition, this fixes defineOwnProperty to actually not throw when
the should_throw flag is false (we had no usage of this priorly).
Review URL: http://codereview.chromium.org/6695018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 14:19:18 +00:00
ricow@chromium.org
7cb35bcfa5
Reapply 7143 after fixing issue 1250
...
Review URL: http://codereview.chromium.org/6698027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 12:25:13 +00:00
karlklose@chromium.org
984135cb32
ARM: Improved double to integer truncation.
...
Patch from ARM Ltd.
BUG=none
TEST=Added to cctest/test-assembler-arm.cc and cctest/test-disasm-arm.cc
Review URL: http://codereview.chromium.org/6625084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 11:19:13 +00:00
ager@chromium.org
6428822811
Revert "Strict mode ThrowTypeError functions for"
...
TBR=mmaly@chromium.org
Review URL: http://codereview.chromium.org/6696018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 11:01:21 +00:00
erik.corry@gmail.com
941701d0b9
Fix SmiCompare on 64 bit to distinguish between comparisons where
...
we know that both sides are Smi and those where we don't. Fix inlined
symbol table probes to cope with strings, undefined and null (indicating
a deleted entry). Some changes to other architectures that were found
with the new asserts.
Review URL: http://codereview.chromium.org/6682026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 10:03:57 +00:00
ricow@chromium.org
fc38a2e509
Do not set value on host objects in Object.defineProperty (fixes issue 1250).
...
To be compatible with safari we should not change the value on API
objects in Object.defineProperty (e.g., the window.location object).
Review URL: http://codereview.chromium.org/6673042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-15 09:16:12 +00:00
mmaly@chromium.org
80bd958df2
Strict mode ThrowTypeError functions for
...
- function.caller
- function.arguments
Review URL: http://codereview.chromium.org/6691003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 17:46:37 +00:00
vitalyr@chromium.org
8700f796e4
Remove unused StringCharCodeAt stub.
...
Review URL: http://codereview.chromium.org/6690014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 16:54:51 +00:00
whesse@chromium.org
2da91a4807
Prepare push to trunk. Now working on version 3.2.3.
...
Review URL: http://codereview.chromium.org/6685048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 15:43:36 +00:00
vitalyr@chromium.org
269b19b447
Crankshaft support for StringCharFromCode.
...
This allows more efficient implementations of string keyed access,
String.prototype.chatAt, and String.fromCharCode.
Review URL: http://codereview.chromium.org/6682025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 15:36:00 +00:00
vegorov@chromium.org
1dd8136dd6
Fix presubmit failure introduced by r7158.
...
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6685047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 15:09:50 +00:00
vegorov@chromium.org
9b311c21b1
Reduce strength of ModI for power-of-2 divisor.
...
This is ia32 only. I will port it to other platforms if this looks good to you.
Review URL: http://codereview.chromium.org/6665006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 14:42:14 +00:00
sgjesse@chromium.org
4dc80f788a
ARM: Move the constant pool blocking for call instruction sequences
...
The constant pool blocking for call instruction sequences is hoisted to the begof the function generating the call sequence.
Review URL: http://codereview.chromium.org/6690009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 12:32:20 +00:00
kasperl@chromium.org
e94a5f909e
When aborting optimization attempts for a function, make sure
...
to clear any eager optimizing hints in the compilation cache.
Review URL: http://codereview.chromium.org/6681031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-14 11:26:19 +00:00
whesse@chromium.org
f6e1b82fd4
Fix a problem where Object.getOwnPropertyDescriptor and related functions unintentionally called toString on the values of an object's properties. Fixes issue 1233.
...
Review URL: http://codereview.chromium.org/6677017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 13:57:20 +00:00
whesse@chromium.org
55815b5fd5
X64: Load more values from the root array, rather than from immediate 64-bit constants.
...
Review URL: http://codereview.chromium.org/6676025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 13:33:39 +00:00
antonm@chromium.org
7b6e295021
Faster invocation for most of API calls.
...
For most of API calls we generate better stub which is faster than invocation
via builtin, so use IC instead of direct call in Hydrogen.
Review URL: http://codereview.chromium.org/6672026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 13:25:01 +00:00
karlklose@chromium.org
8df50f2622
ARM: Implement inline conversion of heap numbers to int32 values for bitoperations.
...
For bit operations, values are truncated and converted to the range -2^31 through 2^31 - 1. This patch provides inlined handling of this conversion for all heap numbers.
Before, we were calling runtime for every heap number that did not fit into a signed int32.
Review URL: http://codereview.chromium.org/6658034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 12:12:44 +00:00
ricow@chromium.org
442cb7c21a
Fix compile failure with GCC 4.5.0 (issue 1244)
...
GCC apparently assumes that given that we do a static cast in the next
line the value must actually be in StrictModeFlag enum range (even
though this is actually what we are asserting)
Review URL: http://codereview.chromium.org/6670031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 11:02:27 +00:00
danno@chromium.org
4beeee3eb3
Fix x64 array length operations in Crankshaft
...
x64-bit array length loads and bounds checks should be 32-bits
Review URL: http://codereview.chromium.org/6676009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 10:30:33 +00:00
ricow@chromium.org
c00631b86e
Fix presubmit by deleting regress-1240 not deleted by last patch.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 09:08:52 +00:00
ricow@chromium.org
f2730d2ab8
Revert revision 7143, this causes a number of webkit tests to fail.
...
This includes a security test. Reverting to investigate further.
Review URL: http://codereview.chromium.org/6673019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 09:02:54 +00:00
ricow@chromium.org
fa9e57e326
Change __defineGetter__ and __defineSetter__ to respect non-configurable.
...
This makes us compatible with firefox. Earlier on we were somehow
compatible with safari - which will allow defining a getter even when
an existing getter is present and non-configurable. We would, however,
in addition to overwriting the getter also change configurable to
true. The approach used by firefox seems much more sound, i.e., why
should it be possible to use __defineGetter__ or __defineSetter__ to
overwrite a non-configurable getter or setter respectively.
I will file a bug on the webkit bugtracker.
Review URL: http://codereview.chromium.org/6658037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 08:05:59 +00:00
vitalyr@chromium.org
c17aeb55bb
Use pthread_kill on solaris.
...
Landing patch by Ryan Dahl.
TBR=vegorov@chromium.org
Original review: http://codereview.chromium.org/6667030/
Review URL: http://codereview.chromium.org/6667031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 07:41:45 +00:00
vitalyr@chromium.org
d3caca74ca
Sample correct registers on solaris.
...
Landing patch by Ryan Dahl.
TBR=vegorov@chromium.org
Original review: http://codereview.chromium.org/6676019/
Review URL: http://codereview.chromium.org/6665023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 07:34:55 +00:00
vitalyr@chromium.org
7b5b511d1a
Update platform-solaris to support runtime profiling.
...
Landing patch by Ryan Dahl.
TBR=vegorov@chromium.org
Original review: http://codereview.chromium.org/6674002/
Review URL: http://codereview.chromium.org/6667025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-11 01:43:44 +00:00
mikhail.naganov@gmail.com
e0829eee10
Fix bit field for GlobalHandles::Node State in MSVC.
...
TBR=vitalyr@chromium.org
BUG=1243
TEST=none
Review URL: http://codereview.chromium.org/6658040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 17:29:37 +00:00
whesse@chromium.org
b7d7aa8ad2
Fix error in sin-cos.js test introduced in r7129.
...
Review URL: http://codereview.chromium.org/6659034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 14:04:18 +00:00
sgjesse@chromium.org
bc9ddf20bb
ARM: Port r7089 to ARM
...
Ensure that there is always enough bytes between consequtive calls in optimized code to write a call instruction at the return points without overlapping.
Add a call to deoptimize all functions after running tests with --stress-opt. This will catch some issues with functions which cannot be forcefully deoptimized. Some of the tests failed on ARM with that change without the rest of the changes in this change.
Review URL: http://codereview.chromium.org/6661022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 13:58:20 +00:00
mikhail.naganov@gmail.com
1d45870320
Fix for win32 after r7125. For some reason introducing a bit field into GlobalHandles::Node causes a trouble.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 13:45:35 +00:00
whesse@chromium.org
7175dc09ef
Crankshaft: Fix error in range analysis of compare operations.
...
Review URL: http://codereview.chromium.org/6658035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 13:34:56 +00:00
whesse@chromium.org
fc8f77e398
X64 Crankshaft: Fix error in computation of sine and cosine.
...
Review URL: http://codereview.chromium.org/6646047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 13:34:23 +00:00