danno@chromium.org
e4e83422bc
Allow GVN to separately optimize FastDoubleArrays
...
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7488016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 16:31:11 +00:00
vitalyr@chromium.org
42a2b4ede7
Improve fast to slow elements conversion:
...
o Use a more strict limit for old arrays.
o Initial capacity of a slow elements dictionary should be the number
of used elements and not the old array capacity.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/7464032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 13:56:21 +00:00
fschneider@chromium.org
6c58013b36
Fix presubmit error.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7470016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 10:24:14 +00:00
fschneider@chromium.org
41ac29d0f4
Landing http://codereview.chromium.org/7514005/
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 10:12:37 +00:00
yangguo@chromium.org
635a9f72ef
Fixed win64 compiler warnings for D8 (static type casting).
...
Review URL: http://codereview.chromium.org/7470014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 08:15:49 +00:00
ricow@chromium.org
4022089144
Update oom_dump README to indicate that people should build the correct V8 version.
...
Review URL: http://codereview.chromium.org/7198021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 06:03:36 +00:00
ricow@chromium.org
950feb6940
Switch from sample shell to d8 for unit test
...
Landing for yangguo to coordinate with buildbot update.
Original codereview: http://codereview.chromium.org/7282008/
Review URL: http://codereview.chromium.org/7495033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-26 05:56:45 +00:00
danno@chromium.org
a923a94d6d
remove dead code in fast double elements
...
* src/x64/lithium-codegen-x64.cc (DoLoadKeyedFastDoubleElement)
(DoStoreKeyedFastDoubleElement): Remove set but unused variables.
BUG=
TEST=Fixes a build with gcc-4.6.
Review URL: http://codereview.chromium.org/7491041
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 15:43:41 +00:00
jkummerow@chromium.org
0aab25fabf
Fix: FunctionTemplate::SetPrototypeAttributes broke prototype object
...
BUG=v8:1539
TEST=cctest test-api/SetPrototypeAttributes
Review URL: http://codereview.chromium.org/7324027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 15:01:45 +00:00
svenpanne@chromium.org
8ebf3993d6
Record ToBoolean's type information in Hydrogen's HBranch instruction, so we can use it in LCodeGen::DoBranch later.
...
Review URL: http://codereview.chromium.org/7491043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 14:08:36 +00:00
fschneider@chromium.org
561d0cf228
Better range information for logical shift right >>>.
...
If the input range is positive and the shift count is constant
we can replace >>> with >> to compute the output range.
For negative inputs, we can only compute a range if the
result always fits into a signed int32.
BUG=v8:1510
Review URL: http://codereview.chromium.org/7489043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 13:28:35 +00:00
ricow@chromium.org
6ce628cb31
Prepare push to trunk. Now working on 3.5.1.
...
Review URL: http://codereview.chromium.org/7493055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 10:51:46 +00:00
ricow@chromium.org
b1115ec2d3
Revert r8719 - Enable unboxed double arrays by default.
...
It causes relibility bot crashes
Review URL: http://codereview.chromium.org/7461061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 10:24:14 +00:00
svenpanne@chromium.org
414966a72d
Removed forgotten debugging code.
...
Review URL: http://codereview.chromium.org/7492042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 07:49:36 +00:00
whesse@chromium.org
96b07762ba
Fix compilation error in ia32 platform valgrind tests. Error was introduced in r8721.
...
Review URL: http://codereview.chromium.org/7495025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 06:58:54 +00:00
mikhail.naganov@gmail.com
6894716121
v8: Move DeleteEmpty test to test-list.cc
...
BUG=None
TEST=None
Signed-off-by: Thiago Farina <tfarina@chromium.org>
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-24 17:59:59 +00:00
danno@chromium.org
1f9801bb9e
Fix bug in ARM pixel array clamping
...
Properly handle undefined conversion to zero in Crankshaft.
R=yangguo@chromium.org
BUG=none
TEST=regress-1563.js
Review URL: http://codereview.chromium.org/7461028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 16:01:53 +00:00
svenpanne@chromium.org
73f8cec70e
Do not explicitly record undetectable objects in the ToBoolean stub.
...
Loading the map within the stub already implies a check for an undetectable
object, so there is no need to record this separately. Furthermore, this brings
the size of the type info to record down to 8 bits, removing the need to find a
place for the ninth bit in the Code object. ;-)
Review URL: http://codereview.chromium.org/7484022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 12:42:40 +00:00
whesse@chromium.org
c081c550d6
Update valgrind.h. Codereview http://codereview.chromium.org/7468002
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 11:22:29 +00:00
mikhail.naganov@gmail.com
c32fa8fae7
Finally, remove logging to memory support.
...
Since r93412, Chromium no more passes "--logfile=*" to V8.
R=danno@chromium.org
BUG=859
Review URL: http://codereview.chromium.org/7479004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 09:59:45 +00:00
danno@chromium.org
e63813ec48
Enable unboxed double arrays by default.
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7491007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 09:48:54 +00:00
danno@chromium.org
3e7d642d0a
Remaining changes to fully support FastDoubleArray.
...
R=ager@chromium.org
BUG=none
TEST=cctests, unboxed-double-array.js
Review URL: http://codereview.chromium.org/7473031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 09:04:16 +00:00
svenpanne@chromium.org
8d47a6f625
Fixed an off-by-one error in SplitConstantsInFullCompiler test.
...
The test tried to disassemble the last entry in a constant pool, which only
worked by accident until address randomization was introduced.
Review URL: http://codereview.chromium.org/7489005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 09:03:55 +00:00
svenpanne@chromium.org
f7138b1427
Implement a type recording ToBoolean IC.
...
The IC records the set of types it has seen, e.g. {String} or {Boolean,
Undefined}, etc. Note that in theory this could lead to a large number of
different ToBoolean ICs (512, to be exact, because we distinguish 9 types),
but in practice only a small handful of them are actually generated.
Currently the type recording part is only implemented on ia32, other platforms
continue to work like they did before, though.
Removed some dead code on the way.
Review URL: http://codereview.chromium.org/7473028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 13:51:04 +00:00
svenpanne@chromium.org
0b55f28e34
Introduce a poor man's version of STL's bitset.
...
Used in a separate upcoming patch...
Review URL: http://codereview.chromium.org/7472029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 13:06:55 +00:00
rossberg@chromium.org
bab9ec0b48
Fix ClassOf check on ARM.
...
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7472034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 12:39:35 +00:00
jkummerow@chromium.org
622cf2e091
Fix deopts caused by misplaced COW checks.
...
TEST=Performance of pixel-array-blur back to normal.
Review URL: http://codereview.chromium.org/7471034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 12:01:51 +00:00
rossberg@chromium.org
3ff882ff64
Make proxy fixing GC safe.
...
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7460009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 11:28:18 +00:00
rossberg@chromium.org
3f5bc11c55
Implement Object.prototype.{hasOwnProperty, propertyIsEnumerable} for proxies.
...
Refactor trap invocation.
Test other Object.prototype functionality for proxies.
R=ager@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7436004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 11:20:27 +00:00
ager@chromium.org
5fba76891b
Re-apply: Implement mapping randomization for 64-bit Linux.
...
- 32-bit Linux already seems to scatter the mmap() chunks around;
64-bit didn't.
- Seed the system random number generator a little better (we needlessly trunctaed microsecond resolution to millisecond resolution).
- Will automatically take advantage of better entropy when V8::RandomPrivate uses it.
R=fschneider@chromium.org ,cevans@chromium.org
BUG=v8:805
TEST=
Review URL: http://codereview.chromium.org/7464022
Patch from Chris Evans <cevans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 11:01:50 +00:00
ager@chromium.org
7a0adba963
Fix overlap check in MoveBlock and fix assertion.
...
The old code was adding a size in words to a byte*. Should use size in
bytes. Also, the assertions were doing signed comparisons on pointers
instead of unsigned. Fixing the assertions makes one of the assertions
identical to the condition just before it.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7468024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 10:51:06 +00:00
ager@chromium.org
651e1b2460
Revert "Implement mapping randomization for 64-bit Linux."
...
Causes sputnik test failures.
R=cevans@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7468023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 08:36:58 +00:00
ager@chromium.org
96e3482731
Implement mapping randomization for 64-bit Linux. Notes:
...
- 32-bit Linux already seems to scatter the mmap() chunks around; 64-bit didn't.
- Seed the system random number generator a little better (we needlessly
trunctaed microsecond resolution to millisecond resolution).
- Will automatically take advantage of better entropy when V8::RandomPrivate
uses it.
BUG=v8:805
Review URL: http://codereview.chromium.org/7377008
Patch from Chris Evans <cevans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-21 07:52:54 +00:00
cira@chromium.org
d0ee5982a8
ICU 4.6 NumberFormat::EStyle enum is gone in ICU 4.8. Adding #if #else to make it work across versions.
...
There was an ICU cleanup (removing all C++ style enums and replacing them with plain C enums). NumberFormat::EStyle had a draft status (from ICU 4.2) and it was cut. Confusion came up because DateFormat::EStyle is stable and won't be removed.
TEST=Compile Chromium with ICU 4.6 and ICU 4.8
BUG=1561
Review URL: http://codereview.chromium.org/7421003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 17:46:56 +00:00
vitalyr@chromium.org
013baa4164
Slightly simplify slow elements conversion check.
...
R=danno@chromium.org
Review URL: http://codereview.chromium.org/7460011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 15:14:50 +00:00
jkummerow@chromium.org
c9f2a4325f
Add fake data dependencies (instead of disabling GVN) to fix code motion
...
for HInstructions used in polymorphic array access code.
TEST=existing tests pass.
Review URL: http://codereview.chromium.org/7298003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 14:43:10 +00:00
danno@chromium.org
92fc85b480
Implement support for getters/setter on FixedDoubleArrays.
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7459009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 13:41:50 +00:00
rossberg@chromium.org
fa5037e4fd
Preparing push to trunk.
...
Review URL: http://codereview.chromium.org/7452020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 13:22:01 +00:00
yangguo@chromium.org
252d62ed27
Fix for issue 1566: added flushing after writing to stdout.
...
BUG=v8:1566
Review URL: http://codereview.chromium.org/7459007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 13:14:46 +00:00
danno@chromium.org
8bc3254e4b
Implement for..in for FastDoubleArrays
...
Also add tests for apply on FastDoubleArrays.
R=ager@chromium.org
BUG=none
TEST=unboxed-double-array.js
Review URL: http://codereview.chromium.org/7461018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 10:54:58 +00:00
jkummerow@chromium.org
9de5255b60
Revert "Make window.undefined, window.NaN, window.Infinitiy read-only (ES5 section 15.1.1)"
...
This reverts r8691.
Review URL: http://codereview.chromium.org/7457020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 10:51:11 +00:00
jkummerow@chromium.org
6768c5e24e
Make window.undefined, window.NaN, window.Infinitiy read-only (ES5 section 15.1.1)
...
BUG=89490
TEST=manual: "Infinity = 42;" doesn't change the value of "Infinity"
Review URL: http://codereview.chromium.org/7457019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 10:06:53 +00:00
danno@chromium.org
a85a493f70
Reland 8636: Implement setting the length property for FixedDoubleArrays.
...
R=ager@chromium.org
BUG=none
TEST=unboxed-double-arrays.js
Review URL: http://codereview.chromium.org/7460008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 09:11:38 +00:00
whesse@chromium.org
e37a45c336
Fix presubmit error in copyright message.
...
Use new gcc flag -Wno-unused-but-set-variable only on linux.
TBR=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7457018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 08:45:30 +00:00
whesse@chromium.org
47e03a0000
fix -Wunused-but-set-variable for gcc-4.6 on x64
...
* src/third_party/valgrind/valgrind.h: Update from upstream valgrind
r11899, so as to get around some unused value warnings. Also adds
support for darwin.
This version of valgrind.h differs from the original in that all
instances of "unsigned long long int" have been replaced with
"uint64_t", as the former is not allowed in ISO C++ 89.
See https://bugs.kde.org/show_bug.cgi?id=211926 for the upstream bug
report.
* src/x64/cpu-x64.cc:
* src/builtins.cc:
* src/conversions-inl.h:
* src/debug.cc:
* src/frames.cc:
* src/full-codegen.cc:
* src/jsregexp.cc:
* src/objects.cc:
* src/parser.cc:
* src/platform-linux.cc:
* src/x64/code-stubs-x64.cc:
* src/x64/deoptimizer-x64.cc:
* src/x64/full-codegen-x64.cc:
* src/x64/lithium-codegen-x64.cc:
* src/x64/regexp-macro-assembler-x64.cc:
* src/x64/stub-cache-x64.cc: Remove a number of assigned but
unreferenced variables.
* SConstruct (CCTEST_EXTRA_FLAGS): Punt on -Wunused-but-set-variable for
the test suite.
BUG=1291
TEST=A build and tools/test.py passes.
Review URL: http://codereview.chromium.org/7400023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 08:09:58 +00:00
ager@chromium.org
e372a2ddeb
Add guard pages in front of executable allocations
...
BUG=89247
Review URL: http://codereview.chromium.org/7379004
Patch from Chris Neckar <cdn@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 08:06:43 +00:00
danno@chromium.org
5df0886925
MIPS: port Implement ICs for FastDoubleArray loads and stores
...
Ported r8637 (72bd791)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7386003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-20 07:24:50 +00:00
vitalyr@chromium.org
f9845f851d
grokdump: Add simple support for non-full minudumps.
...
At least we can show the disassembly around the exception now.
R=antonm@chromium.org
Review URL: http://codereview.chromium.org/7439006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-19 18:29:18 +00:00
danno@chromium.org
a1e851e916
Rollback 8683: Implement setting the length property for FixedDoubleArrays
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7448002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-19 16:34:17 +00:00
danno@chromium.org
837d83ebf3
Implement setting the length property for FixedDoubleArrays.
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7400020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-19 16:06:17 +00:00