mstarzinger@chromium.org
b8154d9353
Fix non-idempotent modification in JSObject::AddFastProperty.
...
R=verwaest@chromium.org
BUG=mozilla/ecma/Array/15.4.5.2-2
Review URL: https://codereview.chromium.org/15955010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 11:58:39 +00:00
rossberg@chromium.org
3718dae502
Prepare push to trunk. Now working on version 3.19.8.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15959021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 11:38:36 +00:00
verwaest@chromium.org
d0d7619d09
Remove duplicated initialization of stack_parameter_count_ of hydrogen stub descriptor.
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16097004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 10:48:37 +00:00
verwaest@chromium.org
5b08a1a119
Fix DeferredTaggedToINoSSE2 to not unconditionally untag undefined to 0.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16228002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 08:37:34 +00:00
palfia@homejinni.com
794a10cbd8
MIPS: Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
...
Port r14894 (0ca991f0)
BUG=
Review URL: https://codereview.chromium.org/15713017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 22:30:00 +00:00
verwaest@chromium.org
1a4a904bef
Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15952007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 09:11:06 +00:00
palfia@homejinni.com
6c21d125d4
MIPS: 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.
...
Port r14886 (068e9135)
BUG=
Review URL: https://codereview.chromium.org/15664008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:24:45 +00:00
palfia@homejinni.com
4e5de4ea03
MIPS: Fix AccessArgumentsAt on ARM. Use register for index.
...
Port r14885 (63dd99b)
BUG=
Review URL: https://codereview.chromium.org/16215002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:23:54 +00:00
palfia@homejinni.com
d16aa0bc6d
MIPS: Update ASSERT on arm to support SmiOrTagged in ClampToUint8
...
Port r14881 (0b784159)
BUG=
Review URL: https://codereview.chromium.org/15769005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:23:04 +00:00
palfia@homejinni.com
ec32721a0a
MIPS: Don't explicitly pass requested representations to constants; implement ConstantS
...
Port r14874 (e93cc94e)
BUG=
Review URL: https://codereview.chromium.org/15731008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:22:04 +00:00
plind44@gmail.com
4ee5e29b94
Prevent segfault if file cannot be opened when --ll_prof is used.
...
TEST=
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16107002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 19:45:19 +00:00
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
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
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
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
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
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
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
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
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
palfia@homejinni.com
dd542a2bed
MIPS: Fix unaligned address of double.
...
TEST=mjsunit/debug-evaluate-locals-optimized-double
BUG=
Review URL: https://codereview.chromium.org/14631016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 17:12:48 +00:00
palfia@homejinni.com
a5f949be2d
MIPS: make isolate accessible from returnvalue
...
Port r14819 (1ee1db14)
BUG=
Review URL: https://codereview.chromium.org/16099003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 16:53:30 +00:00
rossberg@chromium.org
6fda4e4c28
Collect type feedback in separate pass and store it in AST
...
Notes:
- For now, just adds the missing type info fields to the AST nodes directly.
I'd like to factor that out more nicely in a follow-up CL.
- All type feedback now is uniformly collected through AST nodes'
RecordTypeFeedback functions. At some point, this logic should be moved
out of ast.cc.
- The typing pass currently simulates the exact same conditions under
which feedback was collected in Hydrogen before. That also should be
made more generic in the future.
- Type information itself is unchanged. Making it more regular is
yet more future work.
Some additional cleanups:
- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14990014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 13:59:20 +00:00
titzer@chromium.org
0a4289618d
Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.
...
BUG=
Review URL: https://codereview.chromium.org/16095004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:45:46 +00:00
palfia@homejinni.com
18320951b1
MIPS: Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
...
Port r14816 (0485153d)
BUG=
Review URL: https://codereview.chromium.org/16035008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:39:01 +00:00
svenpanne@chromium.org
67927694e8
Prepare push to trunk. Now working on version 3.19.6.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/15838010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:19:49 +00:00
dcarney@chromium.org
81e5778718
make isolate accessible from returnvalue
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16021010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 11:50:08 +00:00
verwaest@chromium.org
9d3e7e5b81
Fix Object.freeze for objects with mixed accessors and data properties
...
The bug in the existing code was that it modified the |attributes|
local variable on its way through the loop in CopyUpToAddAttributes.
But that affected any properties updated after an accessor property.
The code now sets up a mask each time and applies that instead of
mutating |attributes|.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16051002
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 10:56:27 +00:00
yangguo@chromium.org
3e41834721
Regexp parser: reset flag after scanning ahead for capture groups.
...
When the regexp pattern parser encounters an unbound reference to a
capturing group, it needs to scan ahead to decide whether it really
is a reference. The scan advances to the end of the pattern string
and sets has_more_ to false, but fails to reset it to true so that
later on, parsing a character class wrongly fails.
R=ulan@chromium.org
BUG=v8:2690
Review URL: https://chromiumcodereview.appspot.com/15712006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 10:53:37 +00:00
verwaest@chromium.org
a64b7f926f
Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15841007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 09:58:46 +00:00
verwaest@chromium.org
8fc2101ce0
Fix build
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15881004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 08:50:52 +00:00
verwaest@chromium.org
3cb8f95c91
Tag smi-constants as smi. This also fixes code that copies holes into arrays.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15861009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 08:43:58 +00:00
palfia@homejinni.com
f2350072bd
MIPS: Fix DIRECT_API_CALL_NEW and DIRECT_GETTER_CALL_NEW call.
...
This commit fixes the register usage of DIRECT_API_CALL_NEW
and DIRECT_GETTER_CALL_NEW:
* These functions expect arguments in a0-a1 and not in a1-a2
as the and DIRECT_API_CALL and DIRECT_GETTER_CALL do.
* Fixes the simulator to expect *_NEW arguments in a0-a1.
* Adds more comment to simulator to better explain the
register usage.
TEST=cctest/test-api/LoadICFastApi_DirectCall_GCMoveStub,cctest/test-api/SimpleCallback
BUG=
Review URL: https://codereview.chromium.org/15813005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-25 17:10:42 +00:00
palfia@homejinni.com
eaa793604f
MIPS: Fix hole handling, and ensure smi representation is handled properly
...
Port r14807 (c26f44d6)
BUG=
Review URL: https://codereview.chromium.org/15821007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:20:08 +00:00
palfia@homejinni.com
eff0995922
MIPS: DummyUse if Representation::Tagged()+Type::Smi() to Representation::Smi()
...
Port r14802 (d4a53e02)
BUG=
Review URL: https://codereview.chromium.org/16019009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:19:18 +00:00
palfia@homejinni.com
4e9b4a7b59
MIPS: Replace tagged keys for fast access by smi, and use smi in boundscheck.
...
Port r14794 (05b08564)
BUG=
Review URL: https://codereview.chromium.org/15937009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:18:24 +00:00
olivf@chromium.org
2952a77d0b
trace compare_nil_ic state in --trace-ic output
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15735020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 15:20:48 +00:00
verwaest@chromium.org
2a28f53b18
Fix hole handling, and ensure smi representation is handled properly
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16013003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 13:40:02 +00:00
titzer@chromium.org
77f85fa0d3
Remove offset() and is_in_object() from hydrogen and lithium LoadNamedField and StoreNamedField and use the appropriate methods on HObjectAccess instead
...
BUG=
Review URL: https://codereview.chromium.org/15881003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:40:08 +00:00
svenpanne@chromium.org
b4cafa4e1a
Prepare push to trunk. Now working on version 3.19.5.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16002003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:34:41 +00:00
verwaest@chromium.org
eaec0b106f
DummyUse if Representation::Tagged()+Type::Smi() to Representation::Smi()
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15778006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:30:24 +00:00
verwaest@chromium.org
c417df74f4
Update representation-from-uses to support smi.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15692004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:29:37 +00:00
olivf@chromium.org
7aa74c3dc5
fix some names in compare nil ic
...
The compare nil ic introduces a mechanism called lightweight miss. The
idea is to insert a direct call to the miss handler instead of going
through the deopt routine. This can be use for uninitialized stubs, to
directly jump to the runtime.
This cl
1. Cleans up naming
2. localizes the lightweight miss functionality on the only user (compare nil ic)
3. fixes DoCodegen, to actually call the correct method (uninitialized vs initialized)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/15806005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 11:44:55 +00:00
yangguo@chromium.org
7c2a1346d6
Fix edge case in stack trace formatting.
...
Bug description: in strict mode, null as receiver is not implicitly converted
to the global object, so that when formatting the stack trace, the receiver of
the stack frame is null. The IS_OBJECT check returns true for null, but
%GetDataProperty expected a JSObject, which results in a failed RUNTIME_ASSERT.
R=mvstanton@chromium.org
BUG=237617
Review URL: https://chromiumcodereview.appspot.com/15670003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 11:33:46 +00:00
svenpanne@chromium.org
7c0f77a4a5
Make (most of) --trace-codegen available in release mode. Better output.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15941004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 10:57:59 +00:00
verwaest@chromium.org
c9a22a3c8d
Replace tagged keys for fast access by smi, and use smi in boundscheck.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15763004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 08:52:35 +00:00
titzer@chromium.org
94b4240f5c
Introduce ObjectAccess, which is used by LoadNamedField and StoreNamedField to denote what parts of an object are referred to by a given load or store. Refactor HGraphBuilder to use ObjectAccess, which removes the need to manually set GVN flags and simplifies the code as well.
...
Review URL: https://codereview.chromium.org/14284010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 08:38:21 +00:00
dcarney@chromium.org
91efd1e7d7
callback handler map not correctly populated by direct use of SetCallHandler
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15814005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 07:59:33 +00:00
palfia@homejinni.com
22a336c13e
MIPS: Fix assert on ARM
...
Port r14781 (a3491cb7)
BUG=
Review URL: https://codereview.chromium.org/15952002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:11:33 +00:00
palfia@homejinni.com
8b8232e212
MIPS: Require smi for keyed store to smi.
...
Port r14779 (33d24080)
BUG=
Review URL: https://codereview.chromium.org/15889007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:10:23 +00:00
palfia@homejinni.com
4b0f9cd4f1
MIPS: Tag length of FixedArrayBase and smi-array[x] as smi representation
...
Port r14778 (c7fdf61b)
BUG=
Review URL: https://codereview.chromium.org/15927005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:09:23 +00:00
palfia@homejinni.com
31080249c0
MIPS: Improve SeqStringSetChar implementation.
...
Port r14769 (f0000b20)
BUG=
Review URL: https://codereview.chromium.org/15949002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:06:57 +00:00
palfia@homejinni.com
6aef61b5ff
MIPS: Always require exact maps.
...
Port r14768 (5dec309f)
BUG=
Review URL: https://codereview.chromium.org/15948003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:05:42 +00:00
palfia@homejinni.com
344d9057d4
MIPS: Omit smi-check for write-barrier unless tagged.
...
Port r14767 (40dd85ec)
BUG=
Review URL: https://codereview.chromium.org/15745021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:04:08 +00:00
palfia@homejinni.com
ae74636c9e
MIPS: Implement HChange support for Smis and use it in Load/StoreNameField
...
Port r14765 (22625125)
BUG=
Review URL: https://codereview.chromium.org/15781006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:02:27 +00:00
verwaest@chromium.org
b2e8d4c5b3
Fix assert on ARM
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15886004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 16:54:12 +00:00
hpayer@chromium.org
0d5dd777aa
Simplifying GC heuristics, deleted old generation allocation limit.
...
BUG=
Review URL: https://codereview.chromium.org/14700006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 15:11:43 +00:00
verwaest@chromium.org
d057410e20
Require smi for keyed store to smi.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15884002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 15:01:17 +00:00
verwaest@chromium.org
632f591884
Tag length of FixedArrayBase and smi-array[x] as smi representation
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15858006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 14:38:39 +00:00
mstarzinger@chromium.org
8fb2086847
Fix embedded new-space pointer in LCmpObjectEqAndBranch.
...
R=mvstanton@chromium.org
BUG=chromium:240032
TEST=mjsunit/regress/regress-crbug-240032
Review URL: https://codereview.chromium.org/15779004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 14:06:28 +00:00
yangguo@chromium.org
6a806b9917
Add asserts to String::GetFlatContent.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13841012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 13:53:49 +00:00
mvstanton@chromium.org
1a4482ab3f
Missing type cell on ia32 from bindings.
...
Javascript constructors called from C++ code didn't have a type cell
properly filled in on ia32. This showed up as a bug in webkit bindings.
Re-enabled flag optimize-constructed-arrays.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15870002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 13:45:33 +00:00
verwaest@chromium.org
af4516847a
Don't use fast literal if the boilerplate map is still deprecated.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15660005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 11:30:24 +00:00
dslomov@chromium.org
fc73052dc2
Externalization API for ArrayBuffer
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15001041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 10:01:42 +00:00
yangguo@chromium.org
a1e18bdf3c
Improve SeqStringSetChar implementation.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15743006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 09:51:06 +00:00
verwaest@chromium.org
06b7bf60e1
Always require exact maps.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/13923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 09:19:18 +00:00
verwaest@chromium.org
d41f929080
Omit smi-check for write-barrier unless tagged.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15848002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 09:18:52 +00:00
jkummerow@chromium.org
f691f48c14
Avoid creating duplicate entries for a value when merging HSimulates
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/15660003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 09:17:01 +00:00
verwaest@chromium.org
308e69755b
Implement HChange support for Smis and use it in Load/StoreNameField
...
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15303004
Patch from Daniel Clifford <danno@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 08:32:07 +00:00
dcarney@chromium.org
366948840a
de-isolate Persistent::Dispose
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15648008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 08:19:27 +00:00
hpayer@chromium.org
2cbc81a5ce
Move global pretenuring flag check to ShouldGloballyPretenure().
...
BUG=
Review URL: https://codereview.chromium.org/15734007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 08:17:03 +00:00
verwaest@chromium.org
36e91242fd
Make Object.freeze fast
...
This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.
Relanding r14758 and r14759 with fix for Test262: only mark properties
and elements READ_ONLY if they are not JS setter/getters. Tightened up
tests to assert frozen-ness, and added targeted tests for the new code
(covering accessors).
BUG=v8:1858, 115960
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15691007
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 07:05:58 +00:00
palfia@homejinni.com
71ab26d291
MIPS: Handle holes in smi-untag from LoadKeyed requiring hole handling.
...
Port r14756 (fda1989f)
BUG=
Review URL: https://codereview.chromium.org/15690003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 23:09:22 +00:00
adamk@chromium.org
4d48bb832f
Revert "Make Object.freeze fast"
...
and "Fix Object.freeze on dictionary-backed arrays to properly freeze elements"
This reverts r14758 and r14759 due to introducing failures in Test262
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/15681004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 21:27:00 +00:00
adamk@chromium.org
3ebccb7aae
Fix Object.freeze on dictionary-backed arrays to properly freeze elements
...
Follow-up to r14758: slightly rearranges JSObject::Freeze() to avoid duplicating
code while still retaining proper dictionary elements storage behavior.
Also fix a lint error.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/15737018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 20:40:04 +00:00
adamk@chromium.org
648e99e308
Make Object.freeze fast
...
This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.
BUG=v8:1858, 115960
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/14888005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 18:53:58 +00:00
mstarzinger@chromium.org
b704cb9139
Fix bogus deopt in BuildEmitDeepCopy for holey arrays.
...
R=verwaest@chromium.org
BUG=chromium:242924
TEST=mjsunit/regress/regress-crbug-242924
Review URL: https://codereview.chromium.org/15735012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 17:58:21 +00:00
verwaest@chromium.org
d1b5a2518d
Handle holes in smi-untag from LoadKeyed requiring hole handling.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15737003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 16:32:33 +00:00
verwaest@chromium.org
b353b1d131
Don't allow copying holes to fields.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15745006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 15:33:53 +00:00
mstarzinger@chromium.org
d259e1cebd
Fix corner case in optimized code map zapping.
...
R=jkummerow@chromium.org
TEST=mjsunit/math-floor-part2
Review URL: https://codereview.chromium.org/15743005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 15:29:02 +00:00
ulan@chromium.org
3512dd3bd6
Prepare push to trunk. Now working on version 3.19.4.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15746005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 14:03:32 +00:00
mstarzinger@chromium.org
bf413b5122
Fix VisitLogicalExpression for empty blocks on RHS.
...
R=jkummerow@chromium.org
BUG=chromium:242870
TEST=mjsunit/regress/regress-crbug-242870
Review URL: https://codereview.chromium.org/15744002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 13:27:00 +00:00
yangguo@chromium.org
9960b24694
Fix unexpected elements transition in JSON.parse
...
R=verwaest@chromium.org
BUG=241344
Review URL: https://chromiumcodereview.appspot.com/15739003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 13:24:18 +00:00
verwaest@chromium.org
8db3014974
Keep representations while overwriting transitions.
...
BUG=chromium:241477
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15718002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 10:46:33 +00:00
dcarney@chromium.org
1045d62733
implement fast ReturnValue setters
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15398008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 06:35:38 +00:00
palfia@homejinni.com
ea122ef882
MIPS: fix arm simulator after 14725
...
Port r14731 (046b5d8d)
BUG=
Review URL: https://codereview.chromium.org/15606002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 23:09:04 +00:00
palfia@homejinni.com
b2729b1b86
MIPS: new style of property/function callbacks
...
Port r14725 (d393d88)
BUG=
Review URL: https://codereview.chromium.org/15562007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 21:09:58 +00:00
verwaest@chromium.org
f74a85f3b7
Don't track representations in context extensions.
...
This also enables verification of representations.
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15411003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 17:21:27 +00:00
mmassi@chromium.org
3947fefe40
a tiny bug in DehoistArrayIndex
...
R=mmassi@chromium.org
Review URL: https://codereview.chromium.org/15268009
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 14:09:28 +00:00
verwaest@chromium.org
8fed3da4a4
Zap map value in the stub-cache on clear.
...
The empty_string is a valid key for keyed loads and stores.
BUG=
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15565002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 12:59:48 +00:00
dcarney@chromium.org
8633086fcd
fix arm simulator after 14725
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15484006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 12:17:04 +00:00
svenpanne@chromium.org
4a7ed948fe
Make sure we register extensions only once. Removed unused member variable.
...
V8::Initialize() can be called from various threads simultaneously, so
everything should be done only once per process or within the Isolate. For
registering extensions, we do the former now.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/15564002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 12:03:49 +00:00
verwaest@chromium.org
9f32d94cb3
Don't create new maps in CurrentMapForDeprecated.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15358005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 11:20:24 +00:00
wingo@igalia.com
467b16fd3a
Remove unneeded argument from Parser::GetSymbol
...
Parser::GetSymbol can't actually fail, so no need for the bool* ok
argument or the CHECK_OK in callers.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15421007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 10:45:58 +00:00
mstarzinger@chromium.org
a83fc72562
Make Runtime_Abort print to stderr instead of stdout.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/15298005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 09:25:57 +00:00
dcarney@chromium.org
881476a7af
new style of property/function callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12494012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 06:36:24 +00:00
rodolph.perfetta@gmail.com
45ec481659
ARM: Smi refactoring and improvements.
...
Refactoring:
* consistent use of SmiTag/Untag
* added a few Smi macros and helpers
Improvements
* small optimisations (e.g. merging untag and cmp #0 )
* added fixed point to double conversion instructions for simpler conversions
More on the last point: a Smi can be seen as a fixed point number with the
a one bit fractional part. Fixed to double instructions allow us to convert
a Smi to a double without untagging.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/15085026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 15:38:14 +00:00
rossberg@chromium.org
f61bec13c0
Reduce register pressure in some runtime functions
...
Hoped to cure the spurious 3% regression we saw on beloved chromium-rel-win7-dual/sunspider after http://code.google.com/p/v8/source/detail?r=14236
R=mstarzinger@chromium.org
BUG=chromium:233441
Review URL: https://codereview.chromium.org/15297004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 13:54:12 +00:00
jkummerow@chromium.org
19e120ad60
Prepare push to trunk. Now working on version 3.19.3.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/15295007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 13:37:26 +00:00
mvstanton@chromium.org
239b2830cc
Turning off optimize-constructed-arrays to investigate a WebKit/bindings issue.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 12:33:48 +00:00
palfia@homejinni.com
ef4ce2e550
MIPS: Unify deoptimizer for JavaScript frames.
...
Port r14715 (84633474)
Original commit message:
This unifies the translation of an optimized frame to a full JavaScript
frame. Only the frame's context and fp register as well as alignment
padding are different on each architecture and can be factored out.
BUG=
Review URL: https://codereview.chromium.org/15291002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 10:46:42 +00:00
mstarzinger@chromium.org
80da843e22
Unify deoptimizer for JavaScript frames.
...
This unifies the translation of an optimized frame to a full JavaScript
frame. Only the frame's context and fp register as well as alignment
padding are different on each architecture and can be factored out.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14843020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 08:27:56 +00:00
danno@chromium.org
58a3fd3666
Fill in one-word-fillers for the unused property fields.
...
BUG=chromium:240056
Review URL: https://chromiumcodereview.appspot.com/15247003
Patch from Toon Verwaest <verwaest@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 06:58:06 +00:00
verwaest@chromium.org
73d084fad3
Fix bugs in rewriting combined with attributes and accessors
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14843023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 03:16:20 +00:00
palfia@homejinni.com
22fe386d6f
MIPS: Implement yield* (delegating yield)
...
Port r14669 (b64ce42a)
Original commit message:
Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch. We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.
So instead we implement all of the logic in
FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a
try handler index, for the try/catch. Otherwise the implementation is
straightforward.
BUG=
Review URL: https://codereview.chromium.org/15210004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-17 01:10:09 +00:00
hpayer@chromium.org
c84ac4e260
Revert "Simplifying GC heuristics, deleted old generation allocation limit."
...
This reverts commit 14731029.
BUG=
Review URL: https://codereview.chromium.org/14750013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 16:34:56 +00:00
titzer@chromium.org
5746d38351
Fix code gen bug on arm and mips; SeqStringSetChar overwrites a register; Add better default PrintDataTo for HInstruction
...
BUG=
Review URL: https://codereview.chromium.org/14895019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 14:27:39 +00:00
dslomov@chromium.org
61c087dcc7
Remove one more unneccessary conversion to double.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/15204002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 11:57:23 +00:00
dslomov@chromium.org
1e6397dc3d
Remove d8 implementation of ArrayBuffer and typed arrays.
...
R=rossberg@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=14706
Review URL: https://codereview.chromium.org/14654011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 11:55:50 +00:00
dslomov@chromium.org
8bb85af38d
Revert "Remove d8 implementation of ArrayBuffer and typed arrays."
...
This reverts commit r14706.
That commit had a stale change from another change list.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 11:54:25 +00:00
dslomov@chromium.org
0b4c7c8de9
Remove d8 implementation of ArrayBuffer and typed arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14654011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 11:48:03 +00:00
rossberg@chromium.org
8ce0718763
Implement Array.observe and emit splice change records for ArrayPush
...
Review URL: https://codereview.chromium.org/14978007
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 11:19:37 +00:00
olivf@chromium.org
c3dde4bd9d
Encapsulating Type information in the CompareICStub
...
Encapsulate type information in a convenient wrapper instead of storing it in a naked bitfield. This especially facilitates transitioning to a new state and converting from/to the extraICState representation. Additionally cleaning up ToBooleanICStub::Types for consistency.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14862009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 10:59:17 +00:00
hpayer@chromium.org
b3eff8cb37
Simplifying GC heuristics, deleted old generation allocation limit.
...
BUG=
Review URL: https://codereview.chromium.org/14731029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 10:00:05 +00:00
svenpanne@chromium.org
a14adc418a
Cleaned up deopt output a bit.
...
Be a bit more consistent it what is printed. Removed the now superfluous
"*** DEOPT"-like output.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14612012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 09:44:59 +00:00
hpayer@chromium.org
03671ae9ef
Increase old generation space significantly if we observe a high promotion rate.
...
BUG=
Review URL: https://codereview.chromium.org/15104004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 09:21:19 +00:00
mstarzinger@chromium.org
9df341d69f
Put preservation of optimized code map behind a flag.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15119004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-16 08:39:24 +00:00
palfia@homejinni.com
1d177c00ab
MIPS: Fix debug mode test failures.
...
This commit fixes a couple of debug mode test failures,
which were introduced by commit 14600.
TEST=mjsunit/mirror-number,mjsunit/mirror-object
BUG=
Review URL: https://codereview.chromium.org/15179005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 22:45:46 +00:00
adamk@chromium.org
0ed681905c
Re-land Notifier.prototype.performChange + tests
...
Fixes the debug check failure on sorting an object with an array __proto__.
Original Issue: https://codereview.chromium.org/14779011/
TBR=adamk@chromium.org
Review URL: https://codereview.chromium.org/14977015
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 22:09:40 +00:00
adamk@chromium.org
91daa127c9
Revert "Implement Object.getNotifier(obj).performChange()" (r14696)
...
Reverts r14696 because it caused debug assertion failures when running
test/mjsunit/harmony/object-observe.js
TBR=rossberg
Review URL: https://codereview.chromium.org/15203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 18:47:48 +00:00
adamk@chromium.org
07a54cd06d
Implement Object.getNotifier(obj).performChange()
...
R=rossberg,adamk,arv
BUG=
Review URL: https://codereview.chromium.org/14779011
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 17:44:45 +00:00
mstarzinger@chromium.org
365b2eb91e
Preserve optimized code map during GCs weakly.
...
This change preserves the contents of optimized code maps during GCs but
treats the references in this cache weakly. It uses infrastructure from
code flushing to maintain a list of all caches.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/14794007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 16:09:25 +00:00
wingo@igalia.com
55f6281281
Revert "GeneratorFunction() makes generator instances"
...
This reverts r14684 because of blink LayoutTest failures in
inspector/debugger/debugger-pause-in-internal.html.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14619040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 15:57:58 +00:00
dslomov@chromium.org
2ff3e2e0f4
Preallocate transitioned maps for TypedArrays.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15172003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 15:23:53 +00:00
mvstanton@chromium.org
31b8fc19c3
With flag optimize-constructed-arrays on, ARM and MIPS suffered a performance degrade due to incorrect code in GenerateRecordCallTarget().
...
The CL also enables flag optimize-constructed-arrays.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14772043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 15:17:01 +00:00
olivf@chromium.org
8bbe48c7b9
Add a HBreak instruction for debugging
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14997008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 14:24:47 +00:00
verwaest@chromium.org
85949ac260
Shift additional_index by element_shift_size, not shift_size.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14629021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 14:04:44 +00:00
mstarzinger@chromium.org
a15305c388
Slight improvement of object printer for maps.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14969030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 14:03:42 +00:00
wingo@igalia.com
e24cc32011
GeneratorFunction() makes generator instances
...
The current specification has GeneratorFunction() be like Function(),
except that it makes generator instances. This commit implements that
behavior. It also fills in a piece of the implementation where
otherwise calling GeneratorFunction or GeneratorFunctionPrototype would
cause an abort because they have no code.
R=mstarzinger@chromium.org , rossberg@chromium.org
TEST=mjsunit/harmony/generators-iteration
TEST=mjsunit/harmony/generators-runtime
BUG=v8:2355
BUG=v8:2680
Review URL: https://codereview.chromium.org/14857009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 13:22:05 +00:00
mstarzinger@chromium.org
3d5b800943
Provide BitField64 utility class.
...
R=svenpanne@chromium.org
TEST=cctest/test-conversions/BitField64
Review URL: https://codereview.chromium.org/14643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 12:29:13 +00:00
hpayer@chromium.org
a025371c4a
Simplifying GC heuristics, deleted old generation limit factor.
...
Review URL: https://codereview.chromium.org/15114003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 11:08:59 +00:00
wingo@igalia.com
d6fa1d8ad9
Function constructor should avoid String.prototype methods
...
Replace a use of .indexOf with a call to StringIndexOf. As always,
lexical scoping to the rescue.
R=mstarzinger@chromium.org
TEST=mjsunit/regress/regress-2686
BUG=v8:2686
Review URL: https://codereview.chromium.org/14668013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 10:52:06 +00:00
danno@chromium.org
c58260cd50
Ensure all maps gathered from the ICs are updated if deprecated.
...
Add ASSERT to SmallMapList::Add to ensure no deprecated maps are ever added.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/15179004
Patch from Toon Verwaest <verwaest@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 09:04:10 +00:00
palfia@homejinni.com
77f19618a0
MIPS: Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters without an enclosing frame.
...
Port r14665 (15349aa)
This corrupted stackwalking.
BUG=
Review URL: https://codereview.chromium.org/14850023
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 00:57:19 +00:00
palfia@homejinni.com
f09e3064b6
MIPS: Ensure that soft-deopts don't count against opt_count
...
Port r14658 (12c49bd)
This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information.
BUG=
Review URL: https://codereview.chromium.org/15005008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 00:02:40 +00:00
yurys@chromium.org
85f4ae3600
Fix Win64 compilation after r14670
...
TBR=jkummerow@chromium.org
BUG=v8:2628
Review URL: https://codereview.chromium.org/15133007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 23:54:39 +00:00
yurys@chromium.org
69c2f54d32
Skip samples where top function's stack frame is not setup properly
...
Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where stack frame doesn't exist and completely ignore such samples.
This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness.
BUG=v8:2628
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14253015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 22:51:33 +00:00
wingo@igalia.com
8f602260d3
Implement yield* (delegating yield)
...
Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch. We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.
So instead we implement all of the logic in
FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a
try handler index, for the try/catch. Otherwise the implementation is
straightforward.
R=rossberg@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14582007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 16:26:56 +00:00
wingo@igalia.com
b7ecb8cb8d
Revert mistakenly committed r14667 and r14666.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 16:17:26 +00:00
wingo@igalia.com
19b869549b
Avoid loading "iter" twice.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 15:59:37 +00:00
wingo@igalia.com
25c1d78e3d
Implement yield* (delegating yield)
...
Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch. We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.
So instead we implement all of the logic in
FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a
try handler index, for the try/catch. Otherwise the implementation is
straightforward.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 15:59:25 +00:00
mvstanton@chromium.org
673cd2d674
Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters without an enclosing frame. This corrupted stackwalking.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14813029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 15:30:55 +00:00
dslomov@chromium.org
5889699ecf
Avoid convertion to double when it is not needed.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/15162002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 15:03:27 +00:00
titzer@chromium.org
68eb1e50ca
Improve dead code elimination by transitively marking live code and removing all dead code. Replace unreachable phi removal algorithm with the new dead code elimination pass, which is more thorough.
...
Review URL: https://codereview.chromium.org/14676011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 13:10:52 +00:00
danno@chromium.org
6862babfd6
Remove HIsNilAndBranch (it's now unused)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14971005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 12:56:53 +00:00
danno@chromium.org
b65b6d735f
Ensure that soft-deopts don't count against opt_count
...
This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14738009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 11:45:33 +00:00
svenpanne@chromium.org
483a2958fa
Fixed linkage for Is template.
...
With static linkage, clang 3.3 is unhappy about unused functions
template <> inline bool Is<JSFunction>(Object* obj)
template <> inline bool Is<JSArray>(Object* obj)
in any compilation unit apart from acessors.cc.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14836014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 11:02:20 +00:00
ulan@chromium.org
bbf7885cc8
Prepare push to trunk. Now working on version 3.19.2.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15159002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 08:13:25 +00:00
mvstanton@chromium.org
604eb35515
BinaryOpStub::GenerateSmiStub() on 32bit would erroneously patch the IC in case of a gc requirement. Brought the behavior into line with ARM and x64. Also some cleanup to label names.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/15102006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 06:53:46 +00:00
palfia@homejinni.com
63a883aa92
MIPS: Only flush SharedFunctionInfo optimized code cache when necessary
...
Port r14650 (d045fbd3)
BUG=
Review URL: https://codereview.chromium.org/15035007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 00:28:45 +00:00
palfia@homejinni.com
8050d8b0bb
MIPS: Elide hole checks on KeyedLoads of holey double arrays
...
Port r14630 (124d01e7)
Original commit message:
Improves NavierStokes by about 5%
BUG=
Review URL: https://codereview.chromium.org/14762012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 00:28:01 +00:00
danno@chromium.org
ddd72aa14f
Only flush SharedFunctionInfo optimized code cache when necessary
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14604007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 19:22:18 +00:00
wingo@igalia.com
1634369af7
Don't flush code for generator functions.
...
R=mstarzinger@chromium.org
BUG=v8:2681
TEST=mjsunit/regress/regress-2681
Review URL: https://codereview.chromium.org/14731023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 17:36:26 +00:00
dslomov@chromium.org
9f18535d77
Enable harmony_typed_arrays for shared build of d8.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14927014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 16:32:32 +00:00
dslomov@chromium.org
5777f3fb48
Enable native implementation of array buffer and typed arrays in d8 and tests.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15059009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 14:18:43 +00:00
dcarney@chromium.org
b774c3edfe
stop using AsciiValue
...
TBR=svenpanne@chomium.org
BUG=
Review URL: https://codereview.chromium.org/15129002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 14:18:05 +00:00
svenpanne@chromium.org
c1bc396c2d
Consistently assume that arithmetic operations can overflow unless one can prove the opposite.
...
Previously, HDiv never had its CanOverflow flag cleared and HMod had
inverted logic (compared to HAdd, HSub and HMul). Minor cleanups on the way.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14617015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 13:48:15 +00:00
danno@chromium.org
ca5fa6b2ce
Fix Win64 build
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14978005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 13:20:47 +00:00
jkummerow@chromium.org
7636fdec27
Fix missing hole check for loads from Smi arrays when all uses are changes
...
BUG=chromium:233737
Review URL: https://codereview.chromium.org/14978004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 11:58:10 +00:00
svenpanne@chromium.org
4525879eb0
Print range and type for phis, too.
...
To comply with c1visualizer syntax, the format for ranges and types has changed
slightly. Furthermore, the format for phi uses has been changed a bit for more
consistency, too.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14882006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 11:51:49 +00:00
danno@chromium.org
cf1b80703f
Improve trace_opt output to help find compilation problems
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14978003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 11:10:31 +00:00
mstarzinger@chromium.org
883d9c4b1c
Prevent flushing of code that was set with %SetCode.
...
This makes sure that shared function infos that break the one-to-one
mapping to code are marked as un-flushable. Otherwise enqueuing through
the GC meta-data field in the code object doesn't work.
R=rossberg@chromium.org
TEST=cctest/test-api/Threading4
Review URL: https://codereview.chromium.org/14710015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 10:59:00 +00:00
danno@chromium.org
05e8e0e7b4
Elide hole checks on KeyedLoads of holey double arrays
...
Improves NavierStokes by about 5%
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/15014020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 07:35:26 +00:00
svenpanne@chromium.org
f853b08ad0
Fixed constant folding in HMod.
...
We have to check for overflow before attempting to do a modulo operation,
otherwise Crankshaft itself segfaults on some platforms, e.g. ia32. Added tests
even for division, where the problem doesn't show up, just to be sure...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14617014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 07:32:38 +00:00
palfia@homejinni.com
d9195153fc
MIPS: Track heap objects.
...
Port r14625 (bfb25ed8)
BUG=
Review URL: https://codereview.chromium.org/15102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 22:48:41 +00:00
palfia@homejinni.com
4e1acaa674
MIPS: Call to the right slow method.
...
Port r14608 (339e0877)
BUG=
Review URL: https://codereview.chromium.org/14980008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 22:47:49 +00:00
verwaest@chromium.org
d15ecb5b8c
Return failure when allocating maps fails.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14707011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 17:43:04 +00:00
verwaest@chromium.org
df57747fc4
Track heap objects.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14996004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 17:17:50 +00:00
mstarzinger@chromium.org
0b7c1450f1
Fix bogus arguments length check in StringLocaleCompare.
...
R=rossberg@chromium.org
TEST=test262/15.5.4.9_3
Review URL: https://codereview.chromium.org/14972015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 13:50:10 +00:00
ulan@chromium.org
9e620bb689
Revert r14610 because of test-262 failures.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14838012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 13:21:24 +00:00
palfia@homejinni.com
1235ce419a
MIPS: Fix NaN handling for start and end indexes in ArraySlice.
...
Casting NaN to int is unpredictable, on different architectures it produces different int value.
TEST=test262/S15.4.4.10_A2.1_T2, test262/S15.4.4.10_A2.2_T2
BUG=
Review URL: https://codereview.chromium.org/14812014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 13:04:42 +00:00
wingo@igalia.com
3f09e0a3d8
Remove separate maps for function instances
...
ES3 specified that functions created via Function() would have
enumerable prototypes, unlike function literals. For this reason, V8
has always had two prototypes for functions: "function_map" for
literals, and "function_instance_map" for "function instances": those
functions created by Function().
However, since 2009 or so, both maps have been the same! Both have had
writable, non-enumerable prototypes. Moreover, ES5 changed to specify
that function instances would have non-enumerable prototypes.
This patch removes the separate maps for function instances in sloppy
and strict mode.
R=mstarzinger@chromium.org
TEST=mjsunit/function-prototype
BUG=
Review URL: https://codereview.chromium.org/14829005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 12:59:20 +00:00
svenpanne@chromium.org
22159a1cf2
Robustification: Always assign an environment to LModI when a deopt is possible.
...
Currently things only work because of a very fragile interaction between minus
zero propagation and range analysis.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14904008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 12:45:14 +00:00
verwaest@chromium.org
d24d961638
Clear new-space promotion if the type is smi.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15098002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 12:19:34 +00:00
svenpanne@chromium.org
911c14556d
Cleaned up Crankshaft pipeline a bit.
...
Two tiny changes:
* Some phases were missing an HPhase, which was added, so we can now see all
phases in the visualizer output.
* Consistently test commandline flags directly in the pipeline, making it
clearer which parts are optional and which are not.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15074005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 11:32:13 +00:00
mstarzinger@chromium.org
8829a94c24
Remove obsolete HArrayLiteral instruction.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14847013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:52:08 +00:00
mstarzinger@chromium.org
efe91b56f6
Remove obsolete HObjectLiteral instruction.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14972008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:47:05 +00:00
ulan@chromium.org
cc1053379d
Use AssumeRepresentation when the representation is known and will not change.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14793014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:31:28 +00:00
ulan@chromium.org
36910718fe
Verify that no-side-effects scope does not add unsafe phis and does not change push-pop balance of the environment.
...
R=danno@chromium.org
BUG=v8:2671
Review URL: https://chromiumcodereview.appspot.com/14696015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:26:53 +00:00
verwaest@chromium.org
e40419d998
Turn on tracking of fields.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14807006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:12:52 +00:00
verwaest@chromium.org
6246929762
Call to the right slow method.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14834009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:12:30 +00:00
ulan@chromium.org
f68c4452d3
ARM: fix constant pool length emitted for disassembler.
...
R=jfb@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14972007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 09:03:51 +00:00
verwaest@chromium.org
5068079aff
Always use BuildCheckNonSmi, and don't emit check if HeapObject.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14731016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:58:58 +00:00
verwaest@chromium.org
addb8f96c1
Don't CheckSmi when type is Smi.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14890007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:39:37 +00:00
ulan@chromium.org
dabcf04670
Prepare push to trunk. Now working on version 3.19.1.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14919008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:13:08 +00:00
plind44@gmail.com
4b8d06fdf6
ARM: Fix register name in AllocateAsciiConsString.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15024004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 22:21:54 +00:00
palfia@homejinni.com
45ba023b47
MIPS: Use mutable heapnumbers to store doubles in fields.
...
Port r14597 (6e9d7149)
BUG=
Review URL: https://codereview.chromium.org/14607009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 22:15:27 +00:00
mvstanton@chromium.org
ef5211d8af
Parallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14761010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 16:48:27 +00:00
danno@chromium.org
7ec7a280d1
Fixed one spelling error.
...
InitilizeVtuneForV8 --> InitializeVtuneForV8
R=danno@chromium.org
Review URL: https://codereview.chromium.org/14830004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 16:17:23 +00:00
verwaest@chromium.org
52008429b7
Use mutable heapnumbers to store doubles in fields.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14850006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 15:02:08 +00:00
ulan@chromium.org
cd4e9866b7
Fix environment in HOptimizedGraphBuilder::VisitCountOperation. Follow-up for r14584.
...
R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671-1.js
Review URL: https://chromiumcodereview.appspot.com/14972009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:58:06 +00:00
verwaest@chromium.org
154719e8b3
Support merging with distinct attributes.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14756012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:40:36 +00:00
verwaest@chromium.org
abc0c2767e
Always generalize all representations when no transition is inserted.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14696016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:19:48 +00:00
verwaest@chromium.org
4c2c665420
Turn off tracking of fields for the roll.
...
Revert polymorphic stores suspect of crashes.
Revert "Turn on tracking of fields."
Revert "Turn polymorphic stores monomorphic if store sequence matches."
Revert "Fix polymorphic store."
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14812010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:18:30 +00:00
svenpanne@chromium.org
bd8df839c6
Consistently start (almost) all AstPrinter::VisitFoo functions with IndentedScope.
...
This makes IndentedScope the single point where we can print additional info in
the future, like e.g. AST IDs (at least when the TODOs are fixed). Minor other
cleanups.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/15060005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 13:24:45 +00:00
svenpanne@chromium.org
2bb4603cb1
Refactoring only: Removed unused argument from IndentedScope constructor.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14864008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 11:06:46 +00:00
verwaest@chromium.org
3d7e2912ba
Fix polymorphic store.
...
Review URL: https://chromiumcodereview.appspot.com/14696011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 10:34:51 +00:00
verwaest@chromium.org
e5feaf31fa
Turn polymorphic stores monomorphic if store sequence matches.
...
Review URL: https://chromiumcodereview.appspot.com/14796012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 09:39:26 +00:00
mvstanton@chromium.org
f5ad8e4469
Turn off optimize-constructed-arrays flag to investigate ARM perf issue
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/14753007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:49:29 +00:00
danno@chromium.org
bd9274436c
Bias commutative single-use register inputs and support lea adds
...
This improves register allocation for many common add and multiply patterns on ia32 and x64 by reducing register pressure.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14856015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:37:24 +00:00
wingo@igalia.com
75d939aceb
Generators save and restore stack handlers
...
This CL adds machinery to unwind stack handlers from the stack and store
them into a generator's operand array. It also includes routines to
reinstate them. Together this allows generators to yield within
try/catch and try/finally blocks.
BUG=v8:2355
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14031028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:08:23 +00:00
dcarney@chromium.org
d4fd9db342
fix nosnapshot test failure in 14793004, do not deprecate function
...
BUG=
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14947005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 07:45:16 +00:00
ulan@chromium.org
e5a29e8ff9
Do not change environment between simulate and scope with no observable side-effects in HandlePropertyAssignment.
...
LChunkBuilder reconstructs the environment by applying simulates. A scope with no observable side-effects has no simulates. If the scope deoptimizes, then LChunkBuilder would miss the changes to the environment between the last simulate and the scope.
R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671.js
Review URL: https://chromiumcodereview.appspot.com/14793009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 07:40:28 +00:00
palfia@homejinni.com
064349bae4
MIPS: Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure the array constructor pointer passed in matches that of the current context.
...
Port r14581 (32067c11)
BUG=
Review URL: https://codereview.chromium.org/14761004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 23:15:27 +00:00
palfia@homejinni.com
1391e80f26
MIPS: Generators return boxed values
...
Port r14563 (6d01adb8)
Original commit message:
Generators now box their return values in object literals of the form
{ value: VAL, done: DONE }
where DONE is false for yield expressions, and true for return
statements.
BUG=
Review URL: https://codereview.chromium.org/15009008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 23:14:36 +00:00
mvstanton@chromium.org
d7b013de57
Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure
...
the array constructor pointer passed in matches that of the current context.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/14846017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 21:01:53 +00:00
mstarzinger@chromium.org
04a5b3d6b6
Revert "deprecate Context::New which returns Persistent"
...
This reverts r14573 because of test failures in no-snapshot mode in the
cctest/test-debug/ScriptCollectedEventContext test case.
TBR=dcarney@chromium.org ,svenpanne@chromium.org
TEST=cctest/test-debug/ScriptCollectedEventContext
Review URL: https://codereview.chromium.org/15038002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 16:28:51 +00:00
mstarzinger@chromium.org
b2f6d7843a
Disable code flushing for native SharedFunctionInfo.
...
R=hpayer@google.com
TEST=cctest/test-api/Threading4
Review URL: https://codereview.chromium.org/15018012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 15:18:01 +00:00
dslomov@chromium.org
b15bbfbe39
Implement TypedArray.set function.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14581005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 14:42:17 +00:00
dcarney@chromium.org
386de8010b
deprecate Context::New which returns Persistent
...
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/14793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:29:24 +00:00
verwaest@chromium.org
0b1a9c9e3d
Free up 11 bits in fast-mode PropertyDetails by removing the enumeration-index.
...
The descriptors are nowadays ordered in order of addition, so that info was
duplicated.
Review URL: https://chromiumcodereview.appspot.com/14622005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:09:23 +00:00
rossberg@chromium.org
97c83b298c
Object.observe: disable freezing changeRecords until it can be made fast
...
R=rossberg,adamk
BUG=
Review URL: https://codereview.chromium.org/15017003
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:20:33 +00:00
rossberg@chromium.org
66170c928a
Fix braindead Handle::is_identical_to
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14660008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:02:15 +00:00
danno@chromium.org
6616081b6e
Fast-forward version number on bleeding_edge. Now working on version 3.19.0.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14580009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 11:43:43 +00:00
dcarney@chromium.org
42a8ff87ba
add weakcallback without persistent copying
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14908004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:44:30 +00:00
verwaest@chromium.org
46d39cabd6
Fix polymorphic to monomorphic load to take representation into account.
...
Review URL: https://chromiumcodereview.appspot.com/14966005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:32:23 +00:00
hpayer@chromium.org
169283def9
Perform incremental marking step after free-list allocation and clean-up incremental marking start condition.
...
BUG=
Review URL: https://codereview.chromium.org/14634007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 09:48:42 +00:00
wingo@igalia.com
3cd73ebc2f
Generators return boxed values
...
Generators now box their return values in object literals of the form
{ value: VAL, done: DONE }
where DONE is false for yield expressions, and true for return
statements.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/13870007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 08:46:42 +00:00
dcarney@chromium.org
24649209a0
remove use of WriteAscii for vtune
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14900003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 07:23:39 +00:00