Commit Graph

11575 Commits

Author SHA1 Message Date
adamk@chromium.org
09c489ea93 Re-land: Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice
Original issue: https://codereview.chromium.org/15331002/

Broke mozilla/js1_5/Array/regress-451483.js, which ends up attempting to call %IsObserved() on a non-object.

IsObserved now checks for JSReceiver and returns false rather than crashing.

R=adamk@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/15777007

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 17:26:05 +00:00
mstarzinger@chromium.org
e8e2491c5a Handlify map allocation in Genesis::InstallInternalArray.
R=dcarney@chromium.org
TEST=mozilla/js1_5/Regress/regress-367561-01

Review URL: https://codereview.chromium.org/15690018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 15:38:09 +00:00
olivf@chromium.org
88755fb22a Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.
[
CL breaks mips, since the deoptimizer in Deoptimizer::DoTranslateCommand(...) does not convert smis passed to the stub via a0.
]

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15302004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 14:49:28 +00:00
verwaest@chromium.org
9828a49b11 Fix AccessArgumentsAt on ARM. Use register for index.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15690009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:48:06 +00:00
svenpanne@chromium.org
7bfe1436d3 Improve range analysis for modulo operations.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15952004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:42:04 +00:00
yurys@chromium.org
09959efe41 Add support for //# sourceURL similar to deprecated //@ sourceURL one.
BUG=v8:2702
R=yangguo@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/15859010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:40:21 +00:00
mstarzinger@chromium.org
39e9a9030d Make sure IfBuilder::Return clears the current block.
This is a follow-up to an earlier bugfix. It doesn't yet trigger any
known bugs but is a safety precaution since IfBuilder usage increases.

R=jkummerow@chromium.org
BUG=chromium:243868

Review URL: https://codereview.chromium.org/15832005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:36:41 +00:00
verwaest@chromium.org
2e21ff6768 Update ASSERT on arm to support SmiOrTagged in ClampToUint8
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15832004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:20:32 +00:00
yurys@chromium.org
665c644940 Fix two CPU profiler tests on ARM and MIPS simulators
Use Simulator::get_pc instead of Simulator::get_register(pc) as the latter
will return value adjusted by Instruction::kPCReadOffset.

BUG=v8:2628
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16154004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:09:03 +00:00
ulan@chromium.org
fed3dad224 Make more GCs in idle notification handler.
When counting GCs in idle round, count only GC that were directly triggered by the idle notification handler.

R=hpayer@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15737007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:44:54 +00:00
mstarzinger@chromium.org
8b1bee05ce Ignore test262 data files downloaded by test harness.
R=jkummerow@chromium.org
Review by mail to v8-dev@googlegroups.com list.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:32:45 +00:00
ulan@chromium.org
1b80e82f7b Fix counting of scanned bytes in incremental marking step for large object.
R=mstarzinger@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15745004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:13:59 +00:00
mstarzinger@chromium.org
bc9bc0de1a Fix handle zapping interaction with NoHandleAllocation.
This makes sure that closed handle scopes are properly zapped even if an
enclosing NoHandleAllocation shrunk the limit. It also unifies the code
that performs scope closing for internal and external handle scopes.

R=svenpanne@chromium.org
TEST=cctest/test-api/NestedLockersNoTryCatch

Review URL: https://codereview.chromium.org/16004006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:09:01 +00:00
dcarney@chromium.org
ccae2a75ca remove remaining V8_ALLOW_ACCESS_TO* defines from test classes
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16032010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:04:10 +00:00
verwaest@chromium.org
7d32e7451f Don't explicitly pass requested representations to constants; implement ConstantS
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15932011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 10:47:55 +00:00
verwaest@chromium.org
9b6aa9568d Don't explicitly pass the Smi-representation to IfCompare.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15891006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 09:55:50 +00:00
dcarney@chromium.org
f16ebc61c9 Delete old GC related APIs.
Blink doesn't use them any more, and they have no other known users either.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16124004

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:52:01 +00:00
dcarney@chromium.org
515aec2014 Transforming PersistentHandleVisitor to not need to copy Persistent handles.
This gets rid of more places where Persistent handles are copied
(see crbug.com/236290 ).

Transition plan: after this CL, Blink will be modified to work both with and
without the #define, then the #define will be removed from V8.

The corresponding Blink side changes are in https://codereview.chromium.org/15670010/ .

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15974006

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:48:37 +00:00
dcarney@chromium.org
fec64cd698 remove most remaining V8_ALLOW_ACCESS_TO* defines
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15994003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:39:37 +00:00
dcarney@chromium.org
f8039eff6c fix return out of handlescope in NestedLockers
R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16076004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:33:46 +00:00
dcarney@chromium.org
7b82ad9b98 de-isolate remaining persistent calls
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16153003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:32:45 +00:00
mstarzinger@chromium.org
26e7936e27 Re-enable allocation-site-info test case.
R=svenpanne@chromium.org
TEST=mjsunit/allocation-site-info

Review URL: https://codereview.chromium.org/16192002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:29:25 +00:00
svenpanne@chromium.org
116fe61f5e Disabled broken test
TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/15951006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 07:32:10 +00:00
palfia@homejinni.com
0a6ad3737d MIPS: Update the gap resolver to support Smi constants.
Port r14850 (787f0941)

BUG=

Review URL: https://codereview.chromium.org/16146005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:37:57 +00:00
palfia@homejinni.com
c5d0215e08 MIPS: Added old data space allocation infrastructure for pretenuring.
Port r14843 (2d8faca3)

BUG=

Review URL: https://codereview.chromium.org/16155006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:37:03 +00:00
palfia@homejinni.com
041257e549 MIPS: Support Smi in CompareIDAndBranch
Port r14842 (1c8d7430)

BUG=

Review URL: https://codereview.chromium.org/15917012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:36:03 +00:00
jkummerow@chromium.org
cbdf760ef8 Disable --optimize-constructed-arrays due to crashes
BUG=chromium:244461
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15766005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 18:46:23 +00:00
jkummerow@chromium.org
27587d0960 Prepare push to trunk. Now working on version 3.19.7.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16096003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 16:53:35 +00:00
jkummerow@chromium.org
b762c9d53f Disable extra checks in Release mode.
They caused test failures and performance regressions.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16158002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 16:31:55 +00:00
machenbach@chromium.org
eb65ec0648 Allow a relativ path to the NaCl SDK when building.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/16092004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 15:33:39 +00:00
mstarzinger@chromium.org
3b114cdd64 Fix IfBuilder::Deopt to clear the current block.
R=jkummerow@chromium.org
BUG=chromium:243868
TEST=mjsunit/regress/regress-crbug-243868

Review URL: https://codereview.chromium.org/16155003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 15:30:49 +00:00
jkummerow@chromium.org
6ebdc6df1c Enable extra checks for release builds as well
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/14899005

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 15:13:57 +00:00
verwaest@chromium.org
8276673a73 Only allow non-double if the observed representations are int32.
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15988005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 13:28:59 +00:00
rossberg@chromium.org
ecb6bd2718 Revert "Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice"
This reverts commit r14846.

Broke Mozilla test (see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/3608/steps/Mozilla/logs/stdio), e.g.:

=== mozilla/js1_5/Array/regress-451483 ===
--- stdout ---
BUGNUMBER: 451483
STATUS: [].splice.call(0) == []
/mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js:57: illegal access
  var result = [].splice.call(0);
                         ^
Command: /mnt/data/b/build/slave/v8-linux-shared/build/v8/out/Release/d8 --test --nobreak-on-abort --nodead-code-elimination --nofold-constants --expose-gc /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/mozilla-shell-emulation.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js

TBR=rafaelw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16150003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 13:00:53 +00:00
verwaest@chromium.org
290909268a Update the gap resolver to support Smi constants.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15664005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 12:37:29 +00:00
dcarney@chromium.org
ff2a76b5d5 remove most V8_ALLOW_ACCESS_TO_* defines from test classes
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15964004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:54:52 +00:00
rossberg@chromium.org
e8775db3ad Re-enable freezing of Object.observe changeRecords now that freezing is faster.
Review URL: https://codereview.chromium.org/15898004

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:34:31 +00:00
rossberg@chromium.org
6fa987193e Make (Object.)observed Arrays use SafeRemoveArrayHoles during sort
R=adamk,rossberg
BUG=

Review URL: https://codereview.chromium.org/15837006

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:23:59 +00:00
rossberg@chromium.org
c06dc9d010 Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice
R=rossberg,adamk,arv
BUG=

Review URL: https://codereview.chromium.org/15331002

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:16:02 +00:00
hpayer@chromium.org
44fd249cd2 Refacturing BuildEmitDeepCopy.
BUG=

Review URL: https://codereview.chromium.org/15700007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 10:44:21 +00:00
dcarney@chromium.org
eecc9ff8f1 remove use of context scope with persistent argument
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15837007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 10:36:21 +00:00
hpayer@chromium.org
5b469a6f41 Added old data space allocation infrastructure for pretenuring.
BUG=

Review URL: https://codereview.chromium.org/16099004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 09:38:28 +00:00
verwaest@chromium.org
cf9b1170d1 Support Smi in CompareIDAndBranch
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16134003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 09:24:39 +00:00
yurys@chromium.org
0aaed2bba7 Mark test-profile-generator/RecordStackTraceAtStartProfiling as always passing
The test should be stable now.

Drive-by: removed test-heap-profiler/HeapSnapshotsDiff from cctest.status as there is no such test

BUG=None
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15786005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:36:17 +00:00
verwaest@chromium.org
f98ee1a223 Tag smi-constants as smi.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16010004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:00:42 +00:00
yurys@chromium.org
9974d932b2 Deprecate profiler methods that accept security origin
Now that the only known client console.profiles was removed from Blink:
https://src.chromium.org/viewvc/blink?revision=151136&view=revision
https://src.chromium.org/viewvc/blink?revision=151196&view=revision
this method can be deprecated and all the code that supports filtering
CPU profiles based on security origins can be later removed.

Drive-by fix: in line with CpuProfiler changes deprecated HeapProfiler::FindHeapSnapshot to reduce v8 API surface. FindHeapSnapshot may well be implemented based on existing GetSnapshotCount/GetSnapshot and it is only used in the tests.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/16114002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:00:16 +00:00
verwaest@chromium.org
4fcaace0a9 Always deoptimize on undefined if a double value implicitly gets converted.
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16126002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 06:31:05 +00:00
palfia@homejinni.com
375014a64c MIPS: Fix the hole loading optimization.
Port r14829 (8fba0f34)

Original commit message:
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit   conversions from double the hole NaN -> tagged undefined).

BUG=

Review URL: https://codereview.chromium.org/16116002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 23:02:27 +00:00
palfia@homejinni.com
1bdec2bb76 MIPS: Tag smi-constants as smi. This also fixes code that copies holes into arrays.
Port r14814 (8a28ccfb)

BUG=

Review URL: https://codereview.chromium.org/16041005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 22:11:06 +00:00
verwaest@chromium.org
aa2444269b Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
  conversions from double the hole NaN -> tagged undefined).

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16099006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 17:33:14 +00:00