Commit Graph

6285 Commits

Author SHA1 Message Date
lrn@chromium.org
53165dbed0 Fix missing retun value.
Why did it ever work?

Review URL: http://codereview.chromium.org/6990035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 10:53:39 +00:00
sgjesse@chromium.org
a1bcafab69 Improve bit tests on IA32.
Bit tests with a memory operand should be avoided on Intel processors.
On Atom bts with a memory operand has 10~11 cycles latency and on Core 2
it has 5~6 cycles latency, and also produces multiple uops.
If the bit base operand is a register the latency is 1 cycle instead.
This CL improves several cases from Kraken 1.1 benchmark on Atom. For example,
12% for imaging-desaturate, 8% for audio-fft, and 5% for audio-beat-detection.

Review URL: http://codereview.chromium.org//7048003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 10:47:43 +00:00
kasperl@chromium.org
e8277a0ab5 Changed d8 to print exception stack traces like samples/shell.cc.
Review URL: http://codereview.chromium.org/7060006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 10:41:02 +00:00
lrn@chromium.org
b253dd8927 Create template system for strict-mode tests.
This makes it possible to get total coverage without creating thousands
of individual test files.

Review URL: http://codereview.chromium.org/7061008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 10:35:30 +00:00
rossberg@chromium.org
b5223ab7a6 Fix object visitor.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 09:11:24 +00:00
ager@chromium.org
5765e8a9c0 Experimental i18n extension breaks shared library build. Revert recent
changes to unblock V8 release.

Revert "Adding DateTimeFormat class to i18n API with following methods:"

Revert "Some internal methods are requested when v8 is built as DLL (V8_SHARED), and"

R=sgjesse@chromium.org

Review URL: http://codereview.chromium.org/7060005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 08:35:46 +00:00
sgjesse@chromium.org
f19fb45510 MIPS: Minor fixes to simulator and builtins-mips.
Updated to include fixes to several mips arch-specific files, corresponding to recent changes in r7944, r7935, r7926, r7914, r7910, r7895, and parts of r7423, which had previously been missed for mips. Rebased on r7964.

The simulator changes were missed on r7893 for code-stubs-mips,
where the DirectCEntry stuff was added.

There are also a couple small changes to builtins-mips following
r7879 for the other architectures.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7042031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 07:12:58 +00:00
svenpanne@chromium.org
8ea947e64b Fixed pretty printing of typeof/delete/void expressions. Put spaces around binary operations and comparisons to improve readability.
Review URL: http://codereview.chromium.org/7055008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 07:00:54 +00:00
ager@chromium.org
fe6bdabc07 Some internal methods are requested when v8 is built as DLL (V8_SHARED), and
they are not available.
Make them no-op (or better yet part of public API).

TEST = Build Chromium with V8_SHARED

Review URL: http://codereview.chromium.org/7004051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 06:14:32 +00:00
ager@chromium.org
e4509a59b7 Prepare push to trunk. Now working on version 3.3.10.
R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/7059006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 06:00:45 +00:00
vitalyr@chromium.org
36195e73a7 ll_prof: Add function optimization status markers.
Review URL: http://codereview.chromium.org/7056012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-20 15:45:06 +00:00
mikhail.naganov@gmail.com
dd2c990178 Remove redundant 'running' checks for ProfilerEventsProcessor in tests.
A follow up to r7949

R=vitalyr@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/7040014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-20 15:11:00 +00:00
svenpanne@chromium.org
969a909e3a Refactoring only: Simplified LChunkBuilder:DoTest a bit, making it a simple if-then-else cascade.
Review URL: http://codereview.chromium.org/7055006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-20 11:49:52 +00:00
cira@chromium.org
11cc4dcfc6 Adding DateTimeFormat class to i18n API with following methods:
- format
- getWeekdays
- getMonths
- get Eras
- getAmPm

TEST=Visit i18n.kaziprst.org/datetimeformat.html
Review URL: http://codereview.chromium.org/7014019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 21:12:47 +00:00
kmillikin@chromium.org
86bd8a6c40 Allocate fewer handles in the TypeFeedbackOracle.
R=vegorov@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7047009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 13:26:47 +00:00
kmillikin@chromium.org
47157e8a56 When inlining fails, disable optimization of the proper function.
Also, refactor disabling of optimization to make it easier to ensure
that both SharedFunctionInfo and Code get disabled.

R=whesse@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7033020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 13:15:57 +00:00
fschneider@chromium.org
742a001c00 Also skip unary op IC when iterating over break locations in the debugger.
Review URL: http://codereview.chromium.org/7040002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 13:14:12 +00:00
whesse@chromium.org
7878391841 Refactor TraceInlining method of hydrogen so it works correctly.
Fix TraceInline.

BUG=
TEST=

Review URL: http://codereview.chromium.org/7049005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 12:53:50 +00:00
rossberg@chromium.org
abd77ad439 Rename Proxy class to Foreign, to avoid confusion with Harmony proxies.
Also fix grokdump, which was off by one after intro of JSProxy type.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 11:47:34 +00:00
lrn@chromium.org
eea59292e6 Avoid conflict between method and type name.
Make builder happy.

Review URL: http://codereview.chromium.org/7046004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 09:22:32 +00:00
lrn@chromium.org
7db97de8e0 Added preparser strict-mode tests.
Now tests for use of eval, arguments, reserved words and with statement.

Review URL: http://codereview.chromium.org/7037024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 09:01:46 +00:00
mikhail.naganov@gmail.com
e7484dbd01 Fix bug with long stack traces truncation in DevTools CPU profiler.
R=sgjesse@chromium.org,vitalyr@chromium.org
BUG=1398
TEST=cctest/test-cpu-profiler/Issue1398

Review URL: http://codereview.chromium.org/7046001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 08:25:38 +00:00
ager@chromium.org
98778dc802 Remove execScript from V8. No longer present i neither Firefox nor Safari.
R=ricow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7046002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 08:10:27 +00:00
dslomov@chromium.org
c5c57d722a Put 7942 "Per-isolate embedder-specific data" back
TBR=

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 23:26:38 +00:00
dslomov@chromium.org
3d5d169275 Revert "Per-isolate embedder-specific data"
This reverts commit 42f5dc01fb9adbf55242da9f6515e9a37132217b.

Checking if this helps webkit-tests

TBR=dslomov@chromium.org

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 22:35:41 +00:00
fschneider@chromium.org
932390fd2d Fix compilation warning on some C++ compilers.
TBR=
Review URL: http://codereview.chromium.org/7034030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 17:43:20 +00:00
fschneider@chromium.org
f2cb08f1c2 Fix handling of -0 in the unary-op IC and avoid repeated patching/transitions.
When the stub return a heap number we do a state transition to
a version HEAP_NUMBER that can handle -0.

There is room for further improvement in the typefeedback for the
case of -0. This change however does not address this and only fixes
the acute issue.
Review URL: http://codereview.chromium.org/7037025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 17:32:36 +00:00
vitalyr@chromium.org
85edb5f96b Make GVN side effect analysis more precise.
When descending the dominator tree we used to collect side effects from all blocks between the dominator and the dominated blocks in the block ordering. This could include blocks that do not appear on paths from the dominator to the dominated and unnecessarily removed available values from the GVN map.

Review URL: http://codereview.chromium.org/7036010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 17:18:35 +00:00
dslomov@chromium.org
469c55f058 Per-isolate embedder-specific data
BUG=
TEST=

Review URL: http://codereview.chromium.org/6975020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 16:20:45 +00:00
vitalyr@chromium.org
35211e959e Assert that independent handles do not participate in grouping.
Review URL: http://codereview.chromium.org/7044007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 15:28:43 +00:00
vitalyr@chromium.org
b7e685ffe9 ll_prof: Output tick percentage by symbol/library.
Review URL: http://codereview.chromium.org/7039040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 15:08:50 +00:00
vegorov@chromium.org
3641fa7e59 Use MarkIndependent in sample shell.
Review URL: http://codereview.chromium.org/7043006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 15:01:57 +00:00
whesse@chromium.org
a32540e762 Add code to ia32 TypeRecordingBinaryOpStub to handle SHR Smi overflow.
BUG=v8:1395

TEST=

Review URL: http://codereview.chromium.org/7039013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 14:53:02 +00:00
rossberg@chromium.org
30ecaa2f6c Move derived get trap from builtins to global context.
Review URL: http://codereview.chromium.org/7017008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 14:00:34 +00:00
danno@chromium.org
123500999f Reland 7917:
Better support for 'polymorphic' JS and external arrays

Allow  keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub.

There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation.

Review URL: http://codereview.chromium.org/7036016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 13:17:29 +00:00
vegorov@chromium.org
7fba506f23 Add regression test for http://crbug.com/82769
Review URL: http://codereview.chromium.org/7034025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 12:46:21 +00:00
vegorov@chromium.org
1ff163b219 Revert accidental change from r7795 that was causing a bug fixed in r7790 to reappear.
Review URL: http://codereview.chromium.org/6968010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 12:26:04 +00:00
lrn@chromium.org
9307ce2fcf Fix incorrect coercion of other failures to Failure::Exception in ReThrow.
TEST=cctest/test-api/OutOfMemoryNested

Review URL: http://codereview.chromium.org/7029028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 12:22:19 +00:00
whesse@chromium.org
f40c463526 Fix bug 1396: Optimized calls to API functions assumed that the receiver was a JSObject, failed when compiling stub otherwise.
BUG=v8:1396
Review URL: http://codereview.chromium.org/7045002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 12:20:36 +00:00
fschneider@chromium.org
66911961cf Fix bug in optimized compiler's switch-statement.
In the case where the default-clause occurs as the first clause,
the case-blocks were not wired up correctly.

BUG=v8:1394
TEST=mjsunit/compiler/regress-1394.js
Review URL: http://codereview.chromium.org/7037023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 11:06:07 +00:00
svenpanne@chromium.org
f39b0dfccb Handle all kind of arguments in the ToBooleanStub. While this is not very thrilling in itself, it is one of several steps to add type recording to this stub. Removed a duplicate check for null in the ARM stub and made a tiny simplification, removing a sub instruction.
As a side note, this change has some positive impact on the performace, e.g. imaging-darkroom is 8.3% faster and ws-ieee754conv is even 19.9% faster. No idea why the speedup is so big in some cases, but never look a gift horse in the mouth... ;-)
Review URL: http://codereview.chromium.org/7042004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 10:40:01 +00:00
vitalyr@chromium.org
2cb0c0a957 Remove NULL temp operand from ia32 LStoreKeyedSpecializedArrayElement.
Review URL: http://codereview.chromium.org/7042006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 09:19:14 +00:00
kmillikin@chromium.org
b5b5fa22e1 Prepare push to trunk. Now working on version 3.3.9.
Review URL: http://codereview.chromium.org/7042005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 08:49:07 +00:00
lrn@chromium.org
6932196aa8 Fix push of untagged value in type-recording unary op stub.
Review URL: http://codereview.chromium.org/7037007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-18 07:40:51 +00:00
danno@chromium.org
83c84a43e8 Revert 7917
TBR=danno@chromium.org

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 18:47:10 +00:00
danno@chromium.org
5a9b2b3c5f Better support for 'polymorphic' JS and external arrays
Allow  keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub.

There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps. Currently, the only array types supported by the MEGAMORPHIC stub are fast elements for objects and JSArrays.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6894003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 17:29:13 +00:00
sgjesse@chromium.org
46aeea9d3a Revert r7909
r7909: Optimise the deoptimisation check to improve performance on modern ARM cores.

Assert failure on mozilla/ecma/Date/15.9.3.8-2 and mozilla/ecma/Date/15.9.3.8-4.

R=ricow@chromium.org

Review URL: http://codereview.chromium.org//7037006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 12:43:14 +00:00
vegorov@chromium.org
925107046e Extend Handle API with MarkIndependent.
Garbage collector is free to ignore object groups for independent handles and can collect then in minor collections.

Review URL: http://codereview.chromium.org/7031005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 12:18:19 +00:00
danno@chromium.org
ecc25bfb47 Add enumeration to specify if smi check needed
R==ager@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/7039004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 12:05:06 +00:00
whesse@chromium.org
0eca2b4fc1 Fix error in postfix ++ in Crankshaft.
Add HForceRepresentation, to represent the implicit ToNumber applied to the input of a count operation.

BUG=v8:1389

TEST=

Review URL: http://codereview.chromium.org/7033008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-17 11:41:59 +00:00