rafaelw@chromium.org
4a8319c7c6
[Object.observe] Implement implicit notification from performChange
...
R=arv@chromium.org , rossberg@chromium.org , rossberg
BUG=v8:2942
Review URL: https://codereview.chromium.org/36313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:23:08 +00:00
jkummerow@chromium.org
2ebfd6e90e
Add missing negative dictionary lookup to NonexistentHandlerFrontend
...
BUG=v8:2980
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57433003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-04 14:14:09 +00:00
machenbach@chromium.org
3e6044d3f3
[Sheriff] Mark failing test for nacl port.
...
BUG=v8:2978
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/50333005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 11:51:59 +00:00
machenbach@chromium.org
230b47a63b
[Sheriff] Mark flaky test.
...
BUG=v8:2921
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/54423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 11:48:31 +00:00
jkummerow@chromium.org
316271fc35
Fix uint32-to-smi conversion in Lithium
...
BUG=chromium:309623
R=vegorov@google.com , yangguo@chromium.org
Review URL: https://codereview.chromium.org/54393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 10:18:51 +00:00
yangguo@chromium.org
3f1a833524
Do not remove HAdd with zero if the other operand is a double.
...
The other operand might be minus zero, and -0 + 0 = +0
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/52173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-30 10:22:52 +00:00
jkummerow@chromium.org
9e88c23cbf
ia32: Fix comparisons of two constant double operands when exactly one of them is in new space.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/46883008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-29 14:34:07 +00:00
svenpanne@chromium.org
acb06df0e9
Tune mjsunit/compiler/expression-trees.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/43703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 07:24:19 +00:00
svenpanne@chromium.org
ee87c867e9
Tune mjsunit/array-functions-prototype-misc
...
Again, this brings testing times down quite a bit without losing test
coverage.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/44143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 07:23:27 +00:00
mvstanton@chromium.org
a85c825bb9
The Elements pointer in a JSObject can have a filler map instead of a
...
valid fixed array, iff a gc occurred while allocating a fixed array as
part of array construction. Heap verification needs protection against
examining the elements object in this case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/43383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 12:26:47 +00:00
yangguo@chromium.org
7dd2d6c590
Reland "Make Array.prototype.pop throw if the last element is not configurable."
...
This relands r17346.
R=machenbach@chromium.org
BUG=311164
Review URL: https://codereview.chromium.org/43923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:55:56 +00:00
svenpanne@chromium.org
2e2579da1b
Tune mjsunit/regexp-global.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/42993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 08:57:50 +00:00
svenpanne@chromium.org
c2596a257c
Temporarily disable mjsunit/regress/regress-2612 to make our tree green again.
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/40203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 13:30:40 +00:00
svenpanne@chromium.org
7fb61a78d4
Tune mjsunit/regress/regress-2612.
...
Lower the bounds to something bearable which would still timeout if we
used a quadratic algorithm.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/39863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 13:07:16 +00:00
bmeurer@chromium.org
56a46e591b
Add performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Committed: https://code.google.com/p/v8/source/detail?r=17368
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:25:40 +00:00
bmeurer@chromium.org
bef9819190
Revert "Fix shared library build after r17368." and "Add performance.now() to the d8 shell.".
...
This reverts commit r17372 and r17368 for breaking the shared
library build.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/40043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:16:00 +00:00
bmeurer@chromium.org
0a90cab56a
Add performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:48:18 +00:00
bmeurer@chromium.org
67b4eb9ac1
Revert "Add window.performance.now() to the d8 shell."
...
This reverts commit r17366 for breaking the mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/38753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:42:02 +00:00
bmeurer@chromium.org
d07231021e
Add window.performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:27:17 +00:00
svenpanne@chromium.org
f2122438e0
Removed long-running obselete test case.
...
The test was the 2nd longest-running test case in debug mode, and the
stuff it tests has already been moved long ago to some other place,
which is in turn heavily tested by far simpler and faster things
(%TruncateString etc.).
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/39233003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 08:09:32 +00:00
yangguo@chromium.org
0f564cb1b0
Revert "Make Array.prototype.pop throw if the last element is not configurable."
...
This reverts commit r17346.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/39593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:48:23 +00:00
yangguo@chromium.org
e25920da19
Make Array.prototype.pop throw if the last element is not configurable.
...
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.
TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();
By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/29513004
Patch from Yanagi <admin@web-tinker.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:19:24 +00:00
jkummerow@chromium.org
8259439ae8
Fix HObjectAccess for loads from migrating prototypes
...
BUG=chromium:305309
R=danno@chromium.org
Review URL: https://codereview.chromium.org/35173005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 15:15:15 +00:00
hpayer@chromium.org
fbaf016b6d
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/32643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 10:41:21 +00:00
mstarzinger@chromium.org
be3ed75ff3
Fix materialization of captured objects with field tracking.
...
R=titzer@chromium.org
BUG=chromium:298990
TEST=mjsunit/compiler/escape-analysis-representation
Review URL: https://codereview.chromium.org/35133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 13:48:54 +00:00
svenpanne@chromium.org
d65cc1e21b
Temporarily deactive regress-2185-2 until our array handling is in good shape again.
...
BUG=v8:2950
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/30443005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 13:02:04 +00:00
svenpanne@chromium.org
dd74f5aa08
Removed obsolete unit tests.
...
As discussed offline, these tests don't test what they were supposed to
test anymore and were the longest running ones.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32433009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:26:07 +00:00
titzer@chromium.org
a255312491
Handle misaligned loads and stores in load elimination. Do not track misaligned loads and be conservative about invalidating misaligned stores. Add more tests for number conversion to string (NumberToStringStub exhibits misaligned loads)
...
BUG=v8:2934
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/28383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:33:03 +00:00
yangguo@chromium.org
2d6dab1f2e
Harmony: implement Math.trunc.
...
BUG=v8:2938
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/28793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 11:15:11 +00:00
yangguo@chromium.org
575438518c
Harmony: implement Math.sign.
...
R=dslomov@chromium.org
BUG=v8:2938
Review URL: https://codereview.chromium.org/28723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 09:16:31 +00:00
titzer@chromium.org
4d0f2cdd3b
Implement global load elimination based on flow engine.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/27148004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 14:28:24 +00:00
rafaelw@chromium.org
ce2c9b1db1
Prevent changes to hidden properties from being observable via Object.observe
...
This addresses the leak that mstarzinger points out (https://codereview.chromium.org/26390003/ ) and includes the test.
Note that this adds a test that observing changes to the empty-string property remains possible.
BUG=
R=mstarzinger@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/26592012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 20:49:45 +00:00
svenpanne@chromium.org
882778bf09
Make it possible to run a test only in the standard variant.
...
Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/27704002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 13:09:28 +00:00
mstarzinger@chromium.org
0a2b4ecdcc
Add regression test for optimized count operation.
...
This is a regression test for a bug with handling of count operations
that target a JavaScript accessor on the prototype chain in Crankshaft.
R=jkummerow@chromium.org
BUG=chromium:306851
TEST=mjsunit/regress/regress-crbug-306851
Review URL: https://codereview.chromium.org/27702002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 12:48:28 +00:00
mstarzinger@chromium.org
3e0f828b8f
Revert "TransitionAndStoreStub bailout needs to transition (and store)."
...
This reverts commit r17216 breaking fast/js/cross-frame-bad-time.html test.
R=mvstanton@chromium.org
TEST=webkit:fast/js/cross-frame-bad-time.html
Review URL: https://codereview.chromium.org/27516002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 14:17:31 +00:00
mvstanton@chromium.org
8f9f192f6e
AllocationSites for all literals
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
Review URL: https://codereview.chromium.org/27366003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 08:10:36 +00:00
mvstanton@chromium.org
f4edc076d8
Revert "AllocationSites for all literals"
...
This reverts commit r17219 due to WebKit failures.
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/26539010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:35:23 +00:00
mvstanton@chromium.org
362c0cfbca
AllocationSites for all literals
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:52:58 +00:00
mvstanton@chromium.org
3769a2d24d
TransitionAndStoreStub bailout needs to transition (and store).
...
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/26911007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 12:42:03 +00:00
dslomov@chromium.org
5ccd697875
Do not look up ArrayBuffer on global object in typed array constructor.
...
BUG=v8:2931
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/27238009
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 11:27:12 +00:00
yangguo@chromium.org
71ba8c5fb4
Retire concurrent recompilation delay for non-stress testing.
...
Instead, we block concurrent recompilation until unblocked. This makes
affected tests more predictable and run shorter.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/26758003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 14:15:22 +00:00
olivf@chromium.org
93d4fbd2ee
Truncate booleans to 0/1 in truncating t-to-i.
...
Thanks to weiliang.lin2@gmail.com for discovering the issue.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/26824002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 15:13:12 +00:00
mstarzinger@chromium.org
f878c1c359
Fix pre-parsing of 'use strict' directive after string literals.
...
R=ulan@chromium.org
TEST=mjsunit/regress/regress-parse-use-strict
Review URL: https://codereview.chromium.org/27025002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 14:03:54 +00:00
olivf@chromium.org
4b6d0e33f2
Only set binary operation side effects flags, when observable.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/26712002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 16:49:25 +00:00
mstarzinger@chromium.org
63d8abb6c6
Unify and fix checkers for duplicate object literal properties.
...
R=ulan@chromium.org
TEST=preparser/duplicate-property,mjsunit/regress/regress-parse-object-literal
Review URL: https://codereview.chromium.org/26375004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 11:58:16 +00:00
mvstanton@chromium.org
59c8d36c00
Revert "Debug: Allow stepping into on a given call frame."
...
This reverts commit r17095.
There were test failures (flaky).
BUG=chromium:296963
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/26703009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 09:05:28 +00:00
dslomov@chromium.org
380d0ca582
Implement ArrayBuffer.isView.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/25700010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:36:44 +00:00
yurys@chromium.org
ce61a704e3
Debug: Allow stepping into on a given call frame.
...
BUG=chromium:296963
R=yangguo@chromium.org , yurys
Review URL: https://codereview.chromium.org/25605005
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 07:42:44 +00:00
olivf@chromium.org
24c2336d75
Inline some more compare operations.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/25009003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:15:57 +00:00
bmeurer@chromium.org
81e4550796
Always use timeGetTime() for TimeTicks::Now() on Windows.
...
This way, we also ensure that timeGetTime() is used for Time::Now(),
and thereby Date.now() even if GetTickCount64() is available.
Also add test coverage for Time::Now(), TimeTicks::Now() and
TimeTicks::HighResNow().
BUG=chromium:288924
TEST=cctest/test-timer
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/25468003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:30:31 +00:00
verwaest@chromium.org
7e0ea6ab46
Only fold polymorphic into monomorphic load if all load from either receiver or same prototype.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25718002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:24:08 +00:00
mvstanton@chromium.org
81557f21fc
Use a walking visitor to traverse JSObject structure. The purpose is to prepare for more complex context-dependent walks of the structure, needed for allocation site and pretenuring work. Different visitors can be created that annotate the object in various ways.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/25025002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:36:50 +00:00
hpayer@chromium.org
8f60f65bdf
Disable gc stress mode for mjsunit timer test.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/24979002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:04:16 +00:00
mstarzinger@chromium.org
9c3ffc4f58
Fix replaying of HCapturedObject for nested objects.
...
R=titzer@chromium.org
TEST=mjsunit/compiler/property-refs,mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/24561002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 15:28:46 +00:00
machenbach@chromium.org
7c0c861e7a
Fix comment in test case.
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 18:53:33 +00:00
machenbach@chromium.org
9fd455872c
Let timer test retry for 20ms to reduce flakiness.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24484003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 16:47:56 +00:00
verwaest@chromium.org
3ee82ddc3f
Special handle for mul/div minus one when kAllUsesTruncatingToInt32
...
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/24521002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 15:10:48 +00:00
hpayer@chromium.org
77000f2d59
Disable timer mjsunit test on Windows.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24485004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 12:46:45 +00:00
hpayer@chromium.org
f59bcf2f3b
Revert OS::TimeCurrentMillis on Windows introduced in r16413.
...
BUG=chromium:288924
R=danno@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24529002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 09:50:48 +00:00
olivf@chromium.org
d268078ce0
Fix flaky parallel recompilation test.
...
On very rare circumstances parallel recompilation would install
the optimized method earlier than expected and the test would fail.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/24495005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 08:23:14 +00:00
jkummerow@chromium.org
e7130a1e2b
Migrate to new test status file syntax
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23498058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 12:08:33 +00:00
mstarzinger@chromium.org
e48a09896d
Disable GC stress for mjsunit/opt-elements.kind test.
...
R=mvstanton@chromium.org
TEST=mjsunit/opt-elements-kind (in GC stress mode)
Review URL: https://codereview.chromium.org/23889043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:35:57 +00:00
rodolph.perfetta@gmail.com
6d8f4d52bf
ARM: Tweak Math.exp.
...
Avoid corrupting the input and small assembly tuning.
BUG=none
TEST=test/mjsunit/lithium/MathExp.js
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/24278004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 10:40:03 +00:00
olivf@chromium.org
42ce84134f
Revert "Allow control intructions to have side effects."
...
Breaks arm build.
BUG=
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/24255015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 18:57:32 +00:00
olivf@chromium.org
3e13af46e4
Allow control intructions to have side effects.
...
As a first application convert HCompareGeneric to a control Instruction, thus avoid materializing a boolean result value.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/23710070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 16:56:34 +00:00
prybin@chromium.org
f536eb164f
LiveEdit to mark more closure functions for re-instantiation when scope layout changes
...
BUG=v8:2872
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23783007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:15:31 +00:00
olivf@chromium.org
6fc2875d51
Fix Environment size mismatch in r6849.
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23983043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 08:34:23 +00:00
mvstanton@chromium.org
16f73f525b
Turn off GcStress for another mjsunit test that asserts heavily on array
...
ElementsKind.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23983041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 07:26:11 +00:00
mvstanton@chromium.org
53194b44ba
Allocation site tests aren't compatible with GcStress mode.
...
They make assumptions about elementskind of arrays based on allocation site
feedback. This feedback is highly dependent on mementos, unrooted objects
placed behind arrays in the heap meant to live until the next scavenge.
GcStress does many more gcs than normal, and wrecks havoc with this kind
of test.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23449042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:32:00 +00:00
jochen@chromium.org
98477e3880
Collect garbage before running mjsunit/fast-prototype
...
When not using a snapshot, after turning on i18n, there's just enough
garbage after creating a context to trigger gc at the wrong moment.
Since the test uses natives syntax to access information that would
otherwise be hidden from javascript, this makes the test fail
BUG=none
R=mstarzinger@chromium.org
TEST=mjsunit/fast-prototype passes on ia32.release with no snapshot
Review URL: https://codereview.chromium.org/23452047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:11:57 +00:00
mvstanton@chromium.org
59c32b6481
Transitions from DOUBLE to FAST were not checking for allocation site info.
...
This creates a confusing result. It's better to let allocation sites
transition to their end state than artificially stop tracking at the
double/fast boundary.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22868004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:48:50 +00:00
titzer@chromium.org
957a6da2a2
Dynamically align OSR frames on ia32.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23619076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 16:05:39 +00:00
prybin@chromium.org
2974f8e3bb
Support stepin for combination of apply and bound function
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23513023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 17:35:36 +00:00
titzer@chromium.org
05797e77fd
Implement local load/store elimination on basic blocks.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/24117004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 15:32:21 +00:00
rodolph.perfetta@gmail.com
87d0659e76
ARM: Tweak StoreKeyed.
...
Avoid corrupting its input in some cases.
BUG=none
TEST=test/mjsunit/lithium/StoreKeyed*.js
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/23600054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:37:31 +00:00
svenpanne@chromium.org
8ed9b08e31
In the case of shift amounts with two constants and if their sum is equal 32, then shift can also be replaced with bit rotate.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/24095002
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:51:14 +00:00
rodolph.perfetta@gmail.com
39f0ccc2b3
ARM: Tweak the integer division operation.
...
BUG=none
TEST=test/mjsunit/lithium/DivI.js
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23536045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 11:28:18 +00:00
bmeurer@chromium.org
8540129339
ARM: Improve SeqStringSetChar implementation.
...
TEST=/test/mjsunit/lithium/SeqStringSetChar.js
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23890007
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:13:58 +00:00
rossberg@chromium.org
94c4c596e0
Array "splice" changeRecords should be emitted after the performChange has completed (per spec)
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23434008
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:13:02 +00:00
rossberg@chromium.org
f99298bf5d
Allow implicit conversion of acceptList values to string during Object.observe
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23464058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:09:39 +00:00
yangguo@chromium.org
cb10ceb19d
Reland "Clean up after r16292 (disable optimization for StringWrappers)."
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/23619036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:17:58 +00:00
jochen@chromium.org
c5b3ce0671
Snapshot i18n Javascript code
...
The previous attempt used Boolean instead of $Boolean.
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23622028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:50:38 +00:00
yangguo@chromium.org
151e514930
Simplify installing concurrently recompiled code.
...
Instead of overwriting the code entry of the function, we trigger
an interrupt to install the code on the main thread.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23542029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:30:56 +00:00
yangguo@chromium.org
ad25a2969d
Revert "Clean up after r16292 (disable optimization for StringWrappers)."
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23600040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:15:12 +00:00
yangguo@chromium.org
996813cca2
Clean up after r16292 (disable optimization for StringWrappers).
...
R=jochen@chromium.org
BUG=v8:2855
Review URL: https://codereview.chromium.org/22891028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:55:57 +00:00
rossberg@chromium.org
efd71c9999
performChange no longer takes a |receiver| argument.
...
The spec omits the receiver arg with the idea arrow functions with lexical |this| will obviate the need for it.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23727006
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:52:20 +00:00
titzer@chromium.org
49d9555a97
Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized code using the special entrypoint, instead of through the deoptimizer. Do not install the OSR compiled code as _the_ optimized code for a function.
...
Remove OSR-related stuff from deoptimizer.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21340002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 16:34:40 +00:00
mstarzinger@chromium.org
ba48f3bd8c
Consider out-of-bounds accesses as escaping uses.
...
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/23892007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 09:53:58 +00:00
prybin@chromium.org
48cae75df8
Debug: parameterize 'step over' action with a frame where the step must be performed
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23533015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-08 19:05:29 +00:00
jkummerow@chromium.org
daee0d83db
Fix bitwise negation on x64
...
BUG=chromium:285355
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24037003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 15:21:38 +00:00
rodolph.perfetta@gmail.com
82f0649c76
ARM: Improve integer multiplication.
...
TEST=test/mjsunit/lithium/MulI.js
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23452022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 13:12:46 +00:00
yangguo@chromium.org
d9659da6f4
Fix bug in regexp result object construction.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23548018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 14:32:49 +00:00
verwaest@chromium.org
b41a7b9cea
Properly close the CountOperation value/effect context after leaving the store effect context.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23897003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 12:33:14 +00:00
verwaest@chromium.org
6f358946ac
Disable map-check relying on cache behavior sensitive to GC-timing
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23892005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:36:10 +00:00
yangguo@chromium.org
070e3b0af4
Introduce concurrent on-stack replacement.
...
Currently disabled behind --concurrent-osr.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23710014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 12:55:59 +00:00
mstarzinger@chromium.org
fa8a182208
Fix OSR to ignore phis without merge index in loop entry.
...
This fixes a corner case introduced by escape analysis where phis are
introduced in OSR loop entry blocks that don't have a merge index and
hence cannot contain OSR values.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/23503025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 16:51:44 +00:00
verwaest@chromium.org
3f70c3b07b
Allow uncacheable identifiers to go generic.
...
BUG=v8:2867
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23453019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 16:32:11 +00:00
prybin@chromium.org
1e44c36cdc
In reporting step-in positions be more accurate with a position the debugger paused at
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23264015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:24:41 +00:00
olivf@chromium.org
78df13d0d5
Move ToI conversions to the MacroAssembler
...
+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version.
+ Prevent truncating TaggedToI from bailing out.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22290005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:30:54 +00:00
jkummerow@chromium.org
9efb5cd23b
Make VisitStatements() consistent among all AstVisitor implementations
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23441018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 10:51:37 +00:00
jkummerow@chromium.org
2c9ac9c7e1
Always visit branches during HGraph building
...
even if constant values indicate that they are unreachable.
BUG=chromium:280333
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 14:55:45 +00:00
hpayer@chromium.org
95c7ae8149
Simplified BuildFastLiteral by eliminating manual allocation folding.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 12:06:45 +00:00
jkummerow@chromium.org
3747b5bc6d
Delete HAbnormalExit. It does more harm than good.
...
BUG=v8:2843
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23462007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 15:00:30 +00:00
mstarzinger@chromium.org
57ac971a78
Implement proper map checks of captured objects.
...
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/23697002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 14:16:57 +00:00
verwaest@chromium.org
652b174cfc
Merge verbatim descriptors from other (the descriptor of the map being updated) rather than this (descriptors of the most updated map found in the transition tree).
...
BUG=v8:2863
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:37:14 +00:00
hpayer@chromium.org
4d7375ca98
Clear next map word when folding allocations into js arrays.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/22915007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:39:43 +00:00
plind44@gmail.com
b45fa06231
MIPS: Fix return-value from Array.push stub when pushing non-SMI value
...
Load and update the arrays length in v0 to make sure the length gets
returned correctly when leaving the function.
Add new testcase.
TEST=mjsunit/array-push-non-smi-value
BUG=130022
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/23589002
Patch from fs <fs@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 05:23:51 +00:00
verwaest@chromium.org
788811244e
Eliminate intentional conversion from Smi to Int32 in HMul
...
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check
Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi
Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22600005
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:55:00 +00:00
jkummerow@chromium.org
da037f9872
H-BuildIncrement should make use of available type feedback
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22611009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:44:45 +00:00
jkummerow@chromium.org
caba24c813
Revert "Snapshot i18n Javascript code" and "Fix mjsunit/debug-script after r16298".
...
This reverts r16298 and r16303 due to ChromeOS browser_tests failures ("Uncaught ReferenceError: Boolean is not defined" in --gtest_filter="FileDisplay/FileManagerBrowserTest.Test/0" and others)
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23414008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:00:58 +00:00
mstarzinger@chromium.org
e146b6e148
Fix replaying of captured objects during chunk building.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/22819011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 16:43:19 +00:00
jkummerow@chromium.org
11fd577261
Lower kInitialMaxFastElementArray constant to 95K
...
to work around erroneous "illegal access" error on x64.
BUG=v8:2790
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/22877039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 13:04:05 +00:00
mvstanton@chromium.org
c9591f005e
Store mode for keyed stores should be passed in from type feedback
...
regardless of the map used in polymorphic stores.
BUG=
R=jkummerow@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/21058003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 12:28:08 +00:00
dcarney@chromium.org
ad9cc8e716
js accessor creation on Template
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22903012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:59:14 +00:00
jochen@chromium.org
885c88e4d5
Fix mjsunit/debug-script after r16298
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23102015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:45:24 +00:00
jochen@chromium.org
064c91be57
Snapshot i18n Javascript code
...
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23304005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:24:48 +00:00
jochen@chromium.org
de7352db92
Temporarily disable optimization for StringWrappers to use native valueOf
...
V8 stores this information directly in the map of the wrapper, however,
it is not invalidated when the prototype of the wrapper is changed, so
once the bit is set, it is no longer possible to override valueOf.
This bug is currently hidden in Chrome since the i18n extension always
modifies the String.prototype, and so the optimization never kicks in.
Disabling the optimization temporarily allows for snapshotting i18n now.
BUG=v8:2855
R=yangguo@chromium.org
TEST=mjsunit/regress/regress-2855.js
Review URL: https://codereview.chromium.org/23060030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:31:18 +00:00
rossberg@chromium.org
971df386b3
Fix scoping of function declarations in eval inside non-trivial local scope
...
R=mstarzinger@chromium.org
BUG=v8:2594
Review URL: https://codereview.chromium.org/22901010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 09:25:37 +00:00
yangguo@chromium.org
be48c5ae26
Rename "parallel recompilation" to "concurrent recompilation".
...
Also introduced macros for flag aliases for temporary backwards compatibility.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 16:14:37 +00:00
mstarzinger@chromium.org
0ecd03ab4c
Fix hidden properties on object with frozen prototype.
...
This fixes a corner-case where a frozen prototype with existing hidden
properties might prevent setting hidden properties on another object.
R=rossberg@chromium.org
BUG=v8:2829
Review URL: https://codereview.chromium.org/22799021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:51:32 +00:00
titzer@chromium.org
6f3169e571
Fix deoptimization bug, where recursive call can frighten and confuse the unwitting, simple, poor caveman that is Runtime_NotifyDeoptimized.
...
BUG=274164
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23201016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 13:03:40 +00:00
verwaest@chromium.org
eb6cbe1486
Never clear debug-stub call ICs. Make a clear distinction between is_debug_stub
...
used everywhere but the debugger, and IsDebugBreak, used by the debugger.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23361014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 12:16:00 +00:00
jkummerow@chromium.org
e814a9b96b
Fix "Hole" leak in TryBuildConsolidatedElementLoad
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23361007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 15:31:03 +00:00
jkummerow@chromium.org
dea98eee53
Fix a bug in Div when all uses are truncating
...
Refine the related test cases to cover truncating cases
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22964004
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-20 13:57:01 +00:00
olivf@chromium.org
383a167279
Add X87 implementations for Integer32ToDouble, DoubleToI, DoubleToSmi
...
Additionally refactor the X87Stack tracking
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/20781007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-20 13:01:54 +00:00
verwaest@chromium.org
d81af53131
Store copied value rather than the original double.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23262002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-16 15:43:42 +00:00
mstarzinger@chromium.org
3e4fbd0e85
Mark HStringCompareAndBranch as potentially causing GCs.
...
This also adds a %SetAllocationTimout runtime function which helps to
write regression tests that need to trigger a GC at a certain point in
program execution.
R=hpayer@chromium.org
BUG=chromium:274438
TEST=mjsunit/regress/regress-crbug-274438
Review URL: https://codereview.chromium.org/22933006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-16 15:10:07 +00:00
danno@chromium.org
7aa3fedaab
Fix Crankshafted CompareNil of constant values
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23198002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-14 16:13:58 +00:00
jkummerow@chromium.org
e71a91ca08
Fix Math.round/floor that had bogus Smi representation
...
BUG=chromium:272564
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23022005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-14 12:14:08 +00:00
verwaest@chromium.org
169f5a9d7b
Never hchange nan-hole to hole or hole to nan-hole.
...
Only allow changing hole to nan if all uses allow undefined as nan.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22152003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-14 08:54:27 +00:00
jkummerow@chromium.org
6f800f90ee
Fix overflow check computation for Smi Phis
...
BUG=v8:2836
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22629011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 18:18:24 +00:00
jkummerow@chromium.org
b3b99969b0
Fix overwriting order of object literal properties for MATERIALIZED_LITERALs
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22982005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 17:27:58 +00:00
yangguo@chromium.org
415b61e12e
Fix bug in HPhi::SimplifyConstantInput
...
R=jkummerow@chromium.org
BUG=269679
Review URL: https://codereview.chromium.org/23075003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 16:47:27 +00:00
verwaest@chromium.org
145f240060
Store doubles before calling into the elements transition stub on ARM
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22854011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 15:06:17 +00:00
yangguo@chromium.org
c52b7bba05
Fix regressions triggered by map invalidation during graph creation.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22807003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 14:10:25 +00:00
yangguo@chromium.org
c0d1ba2ede
Do not materialize uninitialized const for debug evaluate.
...
R=prybin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22822002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 13:35:46 +00:00
machenbach@chromium.org
cfb7ef44ca
Ignore an unsuitable test under deopt fuzz.
...
That test relies on certain optimization/deoptimization points and is therefore not useful for the deopt fuzzer.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22475011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 08:59:42 +00:00
verwaest@chromium.org
ee53b0a5ed
Make all load-named-fields depend on their map-check, unless explicitly ignored.
...
BUG=
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22555004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 18:40:10 +00:00
verwaest@chromium.org
3715358145
Replace LoadNamedFieldPolymorphic with explicit branches.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 14:04:47 +00:00
verwaest@chromium.org
19659646ca
Fix smi-based math floor.
...
BUG=chromium:270268
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 11:21:03 +00:00
verwaest@chromium.org
e5afd32129
Fix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.
...
BUG=2774,2779
R=adamk@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22562004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 18:45:41 +00:00
jkummerow@chromium.org
371ac893f9
Check for empty handle in JSON stringifier
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/22420004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 16:34:13 +00:00
prybin@chromium.org
29bb553b1d
Fix step in positions (include various calls and exclude current pc point), add a test
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/22198002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 12:27:22 +00:00
mstarzinger@chromium.org
63defee477
First implementation of allocation elimination in Hydrogen.
...
This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.
This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/21055011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 11:24:14 +00:00
yangguo@chromium.org
ef8d394f12
Re-reland "Flush parallel recompilation queues on context dispose notification"
...
BUG=
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22379002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:33:09 +00:00
ulan@chromium.org
3511f7a428
Fix Array index dehoisting.
...
BUG=264203
TEST=test/mjsunit/regress/regress-264203
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22314012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 16:38:39 +00:00
rossberg@chromium.org
5e121882c6
Remove test that causes illegal access now
...
TBR=mstarzinger@chromium.org
BUG=265369
Review URL: https://codereview.chromium.org/22428002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:34:25 +00:00
rossberg@chromium.org
f56ad9cab7
Turn assert into runtime assertion to make fuzzer happy
...
R=mstarzinger@chromium.org
BUG=265369
Review URL: https://codereview.chromium.org/22284009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:19:13 +00:00
rossberg@chromium.org
92bd4d1f2d
I found this working on
...
https://codereview.chromium.org/19541010/
The main problem is that if you called Object.getNotifier(obj) on an object, %SetObserved(object) would never get called on it, and thus it would be unobservable (new test added for this).
Additionally, Runtime::SetObserved was asserting obj->IsJSObject() which would fail if called on a proxy.
It just happens that our existing test always called getNotifier() before Object.observe on proxies, and thus we never previously attempted to transition the map of a proxy.
Both issues are now fixed and properly tested.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/21891008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 13:49:10 +00:00
dslomov@chromium.org
45f4b685bf
Update Array Iterator to use numeric indexes
...
At the last face-to-face meeting it was decided that we should use
numeric indexes for the Array Iterator values.
https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-24.md#514-keys-entries-return-numbers-for-array-index-properties
BUG=v8:2818
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/21180008
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 13:10:07 +00:00