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