marja@chromium.org
6730ec8433
Amend PersistentValueMap:
...
- Use the surrounding map (instead of Traits::Impl) for weak callback.
- Provide for a fast reference to a mapped value.
- Restructure Traits to accomondate for the first point above.
[Why?] As discussed, I proceeded to replace Impl with the map.
The problem I encountered with that version is that now the
Traits class depends on itself: The weak-related methods require the
map type in their signature. But the map type includes the Traits class
and hence the Traits class method signatures depend on the specific Traits class. That
makes them practically un-derivable: While you can derive a Traits class
from another one, since the compiler now expects methods with a different
signature. To accommodate, I pulled the dispose traits into the weak traits
class. I also removed the Impl*/MapType* parameter from the Dispose call,
since no implementation seems to need it.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/212893007
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:35:50 +00:00
yurys@chromium.org
f7b437d086
Deprecate Start/StopCpuProfiling methods
...
BUG=v8:3213
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197513005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:24:49 +00:00
jarin@chromium.org
9e655afdb4
Reland "Fix property enum cache creation to include only own properties"
...
Reland r20308 (reverted by r20310).
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/216383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 06:59:20 +00:00
haitao.feng@intel.com
329b0449d5
Introduce rolp, rorp, rclp, rcrp, shlp, shrp and sarp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/214493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 04:55:00 +00:00
adamk@chromium.org
c2bbd9f9e2
Don't pass the hole to SetElement when creating Array.observe change records
...
Also added comments to remind us why we were using the hole here in the first
place (it's used for the case where Object.observe, rather than Array.observe,
has been called on Array that's undergoing truncation).
BUG=356589
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/213823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 18:29:07 +00:00
rossberg@chromium.org
826cf64fd3
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20211
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
jarin@chromium.org
af74f1206e
Revert "Fix property enum cache creation to include only own properties"
...
This reverts commit 4cf47a20b4846cf050ea4844433e9c57654da34e.
BUG=
Review URL: https://codereview.chromium.org/214893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:18:42 +00:00
rossberg@chromium.org
ddedf5c309
Harden internal uses of .chain
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/212553009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:11:23 +00:00
jarin@chromium.org
4608bdeccc
With this fix, we only create the enum cache for own property descriptors (originally we cached all descriptors in the map). The problem was that the size of all descriptors could be trimmed during GC triggered by allocating the storage for the cache, so we could have ended up with a wrong storage size.
...
This is really Toon's fix, I have only created a small repro case.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/212673011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 15:33:06 +00:00
haitao.feng@intel.com
e38ceab62a
Update mozilla.status for a timezone without daylight saving time.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/198633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 14:25:22 +00:00
dslomov@chromium.org
4cdfb46a6d
Fix JSObject::SetElement for fixed typed array elements.
...
R=ulan@chromium.org
BUG=357108
LOG=N
Review URL: https://codereview.chromium.org/214543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 12:54:26 +00:00
svenpanne@chromium.org
fe58e3d7b8
Removed 'executable' bits from mjsunit tests.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/214413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 12:32:27 +00:00
yangguo@chromium.org
8847b52097
Reland "Correctly OOM in the CEntryStub after retries."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:41:45 +00:00
ulan@chromium.org
5eabc4b802
Run tests on android_arm64.
...
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/210773003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:06:53 +00:00
yangguo@chromium.org
caad1de770
Revert "Correctly OOM in the CEntryStub after retries."
...
This reverts r20292 due to no-snapshot failures.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:59:07 +00:00
yangguo@chromium.org
3ee0783686
Correctly OOM in the CEntryStub after retries.
...
This fixes a bug introduced in r20179.
R=jkummerow@chromium.org
BUG=356211
LOG=N
Review URL: https://codereview.chromium.org/213193011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:26:47 +00:00
yangguo@chromium.org
9be61ddb8a
Hide some runtime functions.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/212163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:51:48 +00:00
danno@chromium.org
0a0f12b841
[x64] Improve key value sign-extension of dehoisted LoadKeyed/StoreKeyed
...
Instead of sign-extending at key use, definitions that can be used as keys are sign extended immediately after the definition.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/179773002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:51:08 +00:00
ulan@chromium.org
a7d1b658fc
Reland r19897 "Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/212553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:14:51 +00:00
jarin@chromium.org
10606aa756
Fix missing representation for the result of HIsSmiAndBranch.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/211273010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 13:14:08 +00:00
dslomov@chromium.org
76b8f25edb
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:50:13 +00:00
haitao.feng@intel.com
6130206c2f
Introduce andp, notp, orp and xorp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/205343013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:15:35 +00:00
haitao.feng@intel.com
687e524983
Introduce leap, movzxbp, movzxwp, repmovsp and xchgp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/211413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 11:17:53 +00:00
svenpanne@chromium.org
58c45cdd03
Mark debug-stepout-scope-part8 as flaky for ARM gc-stress.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/212253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 08:57:21 +00:00
machenbach@chromium.org
2ed676246b
Fix test serialization path for windows.
...
This work-around takes into account that MSVS doesn't build to "out".
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/202923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 07:40:32 +00:00
haitao.feng@intel.com
479248f3d8
Introduce cmpp, decp, incp, negp, sbbp and testp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 01:13:09 +00:00
ishell@chromium.org
f306341b46
TransitionElementsKind() and its recursive call chain handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
dslomov@chromium.org
f66af4feb4
Refactor optimized in hydrogen only runtime functions.
...
This splits all runtime function into 3 categories:
1) RUNTIME: implemented in runtime and called from both full and optimized code.
2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins.
3) INLINE: inlined in both full and optimized code
4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code.
R=yangguo@chromium.org , yannguo@chromium.org
Review URL: https://codereview.chromium.org/209353006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:26:55 +00:00
verwaest@chromium.org
c432f7166c
Don't convert dictionary sloppy arguments to fast double mode.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/207683006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:14:58 +00:00
dslomov@chromium.org
cdc9812756
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20244 for breaking Win64 build and webkit tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/208503007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:12:58 +00:00
ulan@chromium.org
cb0f49c18a
Add index check in DoAccessArgumentsAt.
...
BUG=355523
LOG=N
TEST=mjsunit/regress/regress-355523
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/210053003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:26:41 +00:00
dslomov@chromium.org
654b6a27d1
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20240
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:21:58 +00:00
dslomov@chromium.org
727bc2153e
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20240 for breaking Windows build.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/211003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:58:22 +00:00
dslomov@chromium.org
de690b656f
Allow to neuter array buffer twice in tests.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/209083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:55:10 +00:00
dslomov@chromium.org
322a474bf2
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:51:49 +00:00
rossberg@chromium.org
2e1b16de2a
Revert "Ship promises and weak collections"
...
Reason: breaks Blink layout tests.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/210853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
yangguo@chromium.org
793d4cb0b6
Fix issues when changing FLAG_concurrent_recompilation after init.
...
R=jarin@chromium.org
BUG=356053
LOG=N
Review URL: https://codereview.chromium.org/210363005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:38:48 +00:00
yangguo@chromium.org
82f630a9f7
Reland "No longer OOM on invalid string length."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/210683003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
titzer@chromium.org
3c31102025
First implementation of store elimination.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/100253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:06:16 +00:00
jarin@chromium.org
b765d3cdb9
Revert the (wrong) fix of the argument index check asserion.
...
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/208423017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 21:32:19 +00:00
jarin@chromium.org
56f2006605
Fix to get around an assertion that triggers when generating code that happens to be dead because the assertion is checked a bit earlier at runtime.
...
R=ishell@chromium.org
BUG=355486
LOG=N
Review URL: https://codereview.chromium.org/201573011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 20:51:36 +00:00
baptiste.afsa@arm.com
688d07d11b
ARM64: Prevent compilers to optimize away NaN negation in tests.
...
BUG=v8:3226
R=ulan@chromium.org , jochen@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/196173021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 17:43:56 +00:00
rossberg@chromium.org
33be68c2fa
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
rossberg@chromium.org
ff1186c834
Add support for per-isolate private symbols
...
R=mstarzinger@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:34:06 +00:00
verwaest@chromium.org
e18e650582
Ensure the constant operand for heap-object store-named-field is not a smi.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/210193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:25:48 +00:00
rossberg@chromium.org
6704bbce82
Spec adjustments for well-known symbols
...
R=arv@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/208423013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:45:52 +00:00
yangguo@chromium.org
72932ae417
Revert "No longer OOM on invalid string length."
...
This reverts r20202.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/210143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c
No longer OOM on invalid string length.
...
R=ishell@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/207613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
yangguo@chromium.org
9c0f5be8d1
Correctly convert micro-sign to its upper case.
...
R=dcarney@chromium.org
BUG=355485
LOG=N
Review URL: https://codereview.chromium.org/209323007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:16:14 +00:00
yangguo@chromium.org
f1bacf8fff
Fix DebugEvaluate for generators.
...
R=mstarzinger@chromium.org
BUG=v8:3225
LOG=N
Review URL: https://codereview.chromium.org/207153004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:10:57 +00:00
marja@chromium.org
7dcaf26882
Follow up to r20125 (enabling tests).
...
These tests were never meant to be disabled.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/209953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 12:49:26 +00:00
jkummerow@chromium.org
55d5b02244
Delete mjsunit/string-oom-slow-* tests.
...
They are too slow, and there is no feasible way to speed them up.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/205553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:37:16 +00:00
yangguo@chromium.org
8b8fb30e7f
Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/209903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa
Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
This reverts r20179.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00
yangguo@chromium.org
62f65d8697
Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException.
...
R=dcarney@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/208263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:47:45 +00:00
dcarney@chromium.org
3ab0622b96
add setaccessorproperty to object
...
R=svenpanne@chromium.org
LOG=N
BUG=v8:2964
Review URL: https://codereview.chromium.org/209853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:41:59 +00:00
yangguo@chromium.org
15951521cc
Refactor inlined typed array runtime functions.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/203443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:22:24 +00:00
dcarney@chromium.org
493c6b3543
Do stack checks while pushing locals
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/207543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:17:06 +00:00
rodolph.perfetta@arm.com
d5753f27d9
ARM: fix assertions for uxtb and co.
...
Allow operands with ROR #0 . Behind the scene they are mapped to LSL #0 .
BUG=v8:3209
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/198053014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:59:45 +00:00
m.m.capewell@googlemail.com
6c4178330d
ARM: Fix Q register encoding
...
Fix Q register encoding for registers other than Q0. Also, fix value in NeonSize
enumeration.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/207523005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 13:04:20 +00:00
ulan@chromium.org
50ca2eb9f6
Add option to run ScopeIterator faster giving up nested scope chain.
...
We'd like to be able to trade nested scope chain info (consisting of with, block and catch scopes) in favor of speed in some cases.
BUG=chromium:340285
LOG=N
R=ulan@chromium.org , pfeldman, ulan, yangguo
Review URL: https://codereview.chromium.org/203463011
Patch from Andrey Adaykin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:30:58 +00:00
titzer@chromium.org
a428b0d588
Add a utility method to the ia32 macro assembler to move a double immediate into an XMM register.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197233011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:16:37 +00:00
ulan@chromium.org
fc2563f108
Visit return statement of inlined function in value context.
...
BUG=354357
LOG=N
TEST=mjsunit/regress/regress-354357.js
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/206413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:14:44 +00:00
yangguo@chromium.org
d46f8c1e09
Mark CollectCpuProfile as flaky.
...
R=machenbach@chromium.org
BUG=v8:2999
LOG=N
Review URL: https://codereview.chromium.org/208043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:45:54 +00:00
ulan@chromium.org
f20a9473f3
Ensure that lazy deopt sequence does not override calls.
...
BUG=354433
LOG=N
TEST=mjsunit/regress/regress-354433.js
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/198463006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:02:15 +00:00
yangguo@chromium.org
f6f99310fe
Skip string-oom tests on nacl.
...
R=machenbach@chromium.org
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/207633004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 10:34:07 +00:00
jochen@chromium.org
c616ec7bf3
Mark test-assembler-arm64/fmadd_fmsub_float_nans on arm64 as flaky
...
BUG=v8:3226
LOG=n
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/205863004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 10:02:57 +00:00
marja@chromium.org
8452030817
Move ParsePostfixExpression into ParserBase.
...
+ enable a test which checks that Parser and PreParser produce the "invalid left
hand side" errors consistently.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/202333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:46:18 +00:00
jochen@chromium.org
2ce0bebba1
Rename A64 port to ARM64 port
...
BUG=354405
R=ulan@chromium.org , rodolph.perfetta@arm.com
LOG=y
Review URL: https://codereview.chromium.org/207823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
jochen@chromium.org
9fccfc37c8
Prepare switch from a64 to arm64
...
BUG=354405
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/207793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
haitao.feng@intel.com
c867df5181
Introduce addp, idivp, imulp and subp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/196893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 02:42:10 +00:00
mstarzinger@chromium.org
c27758bcc7
Fix missing access check in Runtime_SetPrototype.
...
R=rossberg@chromium.org
BUG=chromium:354123
TEST=cctest/test-api/Regress354123
LOG=y
Review URL: https://codereview.chromium.org/205033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 18:14:33 +00:00
jkummerow@chromium.org
2b722b663e
Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS
...
BUG=chromium:354391
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/206073008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 16:25:24 +00:00
rossberg@chromium.org
b3b6987b27
Reland "Implement ES6 symbol registry and predefined symbols"
...
Only change relative to original CL is the updated assertion condition at objects-inl.h:2119
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 16:13:09 +00:00
yangguo@chromium.org
c9d391d87f
Fix assertions wrt concurrent OSR.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/206473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 15:23:31 +00:00
yangguo@chromium.org
8f48dbb7d2
Remove outdated OOM tests.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/206373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 14:12:06 +00:00
marja@chromium.org
e9358fa9ce
Increase the "local variables in a function" limit.
...
The limit was originally added to avoid having large user-controlled constants
(variable indexes) in the code generated by full-codegen.
History behind this change:
The original CL for adding the limit was https://codereview.chromium.org/7003030
and at that time, the limit was 32767.
Reason for adding the limit (in CL comments): "The motivation behind this change
is to avoid large user controlled constants in the code. The slot_operand used
in the IA32 full code generator uses a relative load where the local index is an
(negative) immediate."
The limit was then bumped to 65535 by https://codereview.chromium.org/10965063
and to 131071 by https://codereview.chromium.org/11099063 .
R=dcarney@chromium.org , svenpanne@chromium.org , jkummerow@chromium.org , rossberg@chromium.org
BUG=v8:3205
LOG=Y
Review URL: https://codereview.chromium.org/206143004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:37:26 +00:00
marja@chromium.org
d017e6ce54
Make PreParser track valid left hand sides.
...
Notes:
- This makes PreParser produce invalid_lhs_in_assignment and
invalid_lhs_in_prefix_op. Other errors will follow as the corresponding funcs
move to ParserBase.
- PreParserExpression::IsStrictFunction and StrictFunction() are not needed any
more -> removed them.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/196343033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:18:15 +00:00
rossberg@chromium.org
1088fbd1e7
Revert "Implement ES6 symbol registry and predefined symbols"
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:56:41 +00:00
yangguo@chromium.org
000be4d033
Reland "Throw exception on invalid string length instead of OOM."
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/199583007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:27:36 +00:00
rossberg@chromium.org
0f71f61799
Implement ES6 symbol registry and predefined symbols
...
R=mstarzinger@chromium.org , arv@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/203243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:26:27 +00:00
yangguo@chromium.org
77a28b731d
Handlify callers to GetElementNoException.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/204693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:22:13 +00:00
yangguo@chromium.org
a5a82ef123
Revert "Throw exception on invalid string length instead of OOM."
...
This reverts r20112.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 11:11:28 +00:00
yangguo@chromium.org
9ba80269ee
Throw exception on invalid string length instead of OOM.
...
R=bmeurer@chromium.org
BUG=349329
LOG=Y
Review URL: https://codereview.chromium.org/199853004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 10:49:33 +00:00
ulan@chromium.org
41eab25615
A64: Fix write barrier input in KeyedStoreIC::GenerateSloppyArguments.
...
This fixes flaky crashes in gc-stress bot:
> Fatal error in ../src/incremental-marking.cc, line 84
> CHECK(obj->IsHeapObject()) failed
BUG=353551
LOG=N
TEST=test/mjsunit/regress/regress-353551.js
R=m.m.capewell@googlemail.com
Review URL: https://codereview.chromium.org/204453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 08:32:58 +00:00
jkummerow@chromium.org
d9b6b6439d
Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS
...
BUG=chromium:350867
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/203303010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:49:29 +00:00
dcarney@chromium.org
99b115b120
Provide default traits for PersistentValueMap
...
Re-try of issue 201643003. This caused linker errors on Win64, since the
linker insists on seeing the StrongMapTrait method implementations even
though they are never used. This will provide default implementations
for them.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204343006
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:35:02 +00:00
ishell@chromium.org
f09f99fd09
ArrayPop builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/204103008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:25:04 +00:00
ishell@chromium.org
368a2e78c0
Handlification of JSArray::SetElementsLength().
...
R=verwaest@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/203333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:09:50 +00:00
marja@chromium.org
e9717833f9
Move ParseUnaryExpression into ParserBase and add tests.
...
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/203193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:08:47 +00:00
marja@chromium.org
c04dd3fb7f
Revert "Move ParseUnaryExpression into ParserBase and add tests."
...
This reverts revision 20077.
Reason: build fail on some compilers.
BUG=
TBR=marja@chromium.org ,rossberg@chromium.org
Review URL: https://codereview.chromium.org/203413009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:58:15 +00:00
marja@chromium.org
f4ef82309a
Move ParseUnaryExpression into ParserBase and add tests.
...
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/203193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:42:41 +00:00
mvstanton@chromium.org
535f3427ca
Pretenure call new support.
...
When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.
Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/132963012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:39:09 +00:00
marja@chromium.org
932a29a66a
New compilation API, part 2.
...
This CL makes the Parser produce the data PreParser used to produce. This
enables us to get rid of the unnecessary preparsing phase.
The first part is here: https://codereview.chromium.org/199063003/
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/203353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:24:13 +00:00
yangguo@chromium.org
d8c3c5ef0a
Introduce API to trigger exception on JS execution.
...
R=jochen@chromium.org , pmarch@chromium.org
Review URL: https://codereview.chromium.org/203223013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:06:53 +00:00
yangguo@chromium.org
0bc684a794
Introduce per-isolate assert scopes and API to guard JS execution.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/198253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
haitao.feng@intel.com
e812aca6b3
Introduce Push and Pop macro instructions for x64
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/199903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 08:59:04 +00:00
yangguo@chromium.org
0dd31685f0
Revert "First attempt at providing default traits for PersistentValueMap."
...
This reverts r20038.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/203553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 16:32:39 +00:00
rossberg@chromium.org
b7b40e2b84
Remove Promise.cast
...
...as per January meeting. Renames 'cast' to 'resolve'. We rename the prior 'resolve' to 'accept', to keep the chain API usable.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/200763012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 15:03:35 +00:00
dcarney@chromium.org
6deb7b0db4
First attempt at providing default traits for PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/201643003
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 15:01:12 +00:00
rossberg@chromium.org
aa250ea41a
Promises: make null a legal argument for .then
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/203453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 14:55:43 +00:00
ulan@chromium.org
487ca9e384
Fix TransitionElementsKindStub to handle non-JSArray objects correctly.
...
BUG=352982
LOG=N
TEST=mjsunit/regress/regress-352982.js
R=danno@chromium.org
Review URL: https://codereview.chromium.org/196343023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 13:29:29 +00:00
yangguo@chromium.org
c76a97159f
Handlify callers of Object::GetElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/200363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:34:02 +00:00
rossberg@chromium.org
9b28aed3f6
Introduce representation types
...
Also:
- improve type pretty-printing,
- update doc comments,
- some renamings for consistency.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/176843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:50:18 +00:00
ishell@chromium.org
acf695e37a
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:38:27 +00:00
dslomov@chromium.org
6c01c3fd56
Apply numeric casts correctly in typed arrays and related code.
...
R=jkummerow@chromium.org
BUG=353004
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=20020
Review URL: https://codereview.chromium.org/201873005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 10:55:29 +00:00
dslomov@chromium.org
a6224272fd
Revert "Apply numeric casts correctly in typed arrays and related code."
...
This reverts commit r20020 for breaking Win64 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/199523006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 10:50:00 +00:00
dslomov@chromium.org
849187eab0
Apply numeric casts correctly in typed arrays and related code.
...
R=jkummerow@chromium.org
BUG=353004
LOG=Y
Review URL: https://codereview.chromium.org/201873005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 10:23:50 +00:00
rossberg@chromium.org
58d623f228
Stage ES6 promises and weak collections
...
Split collections flag into weak and non-weak.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/201593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 09:57:14 +00:00
verwaest@chromium.org
5aaa513630
Don't generate keyed store ICs for global proxies.
...
BUG=352983
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/197873025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 17:19:39 +00:00
ulan@chromium.org
2cb4e78e74
Fix mjsunit/compiler/concurrent-invalidate-transition-map.js test.
...
BUG=v8:3156
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/180053003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 17:00:48 +00:00
marja@chromium.org
06a444a19c
Follow up to r20003.
...
(Fixing comments in tests.)
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 16:04:47 +00:00
ulan@chromium.org
e1e4071cbc
Fix date cache in strict mode.
...
BUG=v8:3220
LOG=N
TEST=mjsunit/regress/regress-3220.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/201753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:47:58 +00:00
ishell@chromium.org
3b257c35e5
Fixed spec violation of storing to length of a frozen object.
...
BUG=chromium:350890
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/196653015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:43:33 +00:00
marja@chromium.org
a8cc89c438
Add tests which ensure that the data produced by the preparser is really used.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/201133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:06:33 +00:00
jkummerow@chromium.org
e4a18df7d1
Fix ASSERT violation when BinaryOpIC::Transition recurses into itself
...
BUG=chromium:352586
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/201313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 14:51:31 +00:00
rossberg@chromium.org
91edfc5f25
Fix more WebKit test expectations
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/199613004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:06:47 +00:00
hpayer@chromium.org
e3554870e6
Fix Windows compile problem.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201133006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 12:17:13 +00:00
rossberg@chromium.org
3db4d32878
Fix WebKit and Mozilla test expectations
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/201793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 12:00:40 +00:00
hpayer@chromium.org
9305589c04
Make sure allocated objects in PrologueCallbackAlloc and EpilogueCallbackAlloc API test are used.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/201633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:52:33 +00:00
hpayer@chromium.org
4c20e76b4b
heap: allow allocation in gc prologue/epilogue
...
BUG=
R=hpayer@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/177243012
Patch from Fedor Indutny <fedor.indutny@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:38:45 +00:00
rossberg@chromium.org
c3c185c173
Make invalid LHSs a parse-time (reference) error
...
This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for.
To do: check properly in preparser already.
R=marja@chromium.org , mstarzinger@chromium.org
BUG=351658
LOG=Y
Review URL: https://codereview.chromium.org/200473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:21:01 +00:00
rossberg@chromium.org
dbb7f982d3
Add Promises/A+ Compliance Test Suite.
...
This CL introduces Promises/A+ tests[1].
This CL doesn't contain the test itself: it will be downloaded by test cfg.py.
This CL includes some helper JS functions to run the test in d8 shell.
[1]: https://github.com/promises-aplus/promises-tests
BUG=347095
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/196733002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:03:01 +00:00
rossberg@chromium.org
0a2f4c86bd
Split Promise API into Promise/Resolver
...
R=svenpanne@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196943014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 09:57:25 +00:00
jkummerow@chromium.org
dc458525ad
Fix typo in r19923 (bounds check offset propagation)
...
BUG=chromium:352929
LOG=n
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/201303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 09:38:01 +00:00
ishell@chromium.org
f77c51b0a6
Check elimination now sets known successor branch of HCompareObjectEqAndBranch (correctness fix).
...
BUG=chromium:352058
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/196383018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 09:11:38 +00:00
mvstanton@chromium.org
e3f3f6d98b
Revert "Continued fix for 351257. Reusing the feedback vector is too complex."
...
This reverts commit r19919.
TBR=bmeuer@chromium.org
Review URL: https://codereview.chromium.org/196343021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:31:21 +00:00
yangguo@chromium.org
33ea8185e9
Suppress test failures on GC-stress for A64.
...
R=ulan@chromium.org
BUG=v8:3219
LOG=N
Review URL: https://codereview.chromium.org/197873021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:30:04 +00:00
dslomov@chromium.org
eb2003da3f
Disable cctest test-lockers/MultithreadedParallelIsolates.
...
Had to disable always instead of in 'nosnap' mode.
TBR=machenbach@chromium.org
BUG=v8:3215
LOG=N
Review URL: https://codereview.chromium.org/196283020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 15:11:03 +00:00
dcarney@chromium.org
45ffad09d8
Move PersitentValueMap into seperate header, to avoid excessive polution
...
of v8.h.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/195793024
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 14:57:04 +00:00
verwaest@chromium.org
0f2a324c8a
Fix generalization with callbacks.
...
BUG=352588
LOG=n
R=danno@chromium.org
Review URL: https://codereview.chromium.org/200173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 14:17:49 +00:00
jacob.bramley@arm.com
cf43195d47
A64: Fix a few simulation inaccuracies.
...
- Return the correct NaN when an invalid operation generates a NaN.
- When one or more operands are NaN, handle them as the processor
would, prioritising signalling NaNs and making them quiet.
- Fix fmadd and related instructions:
- Fnmadd is fma(-n, m, -a), not -fma(n, m, a).
- Some common libc implementations incorrectly implement fma for
zero results, so work around these cases.
- Replace some unreliable tests.
This patch also adds support for Default-NaN mode, since once all the
other work was done, it only required a couple of lines of code.
Default-NaN mode was used for an optimisation in ARM, and it should now
be possible to apply the same optimisation to A64.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/199083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:23:55 +00:00
mvstanton@chromium.org
11df4b8815
Fix for issue 351261.
...
This relands the following fix: "HAllocate should never generate
allocation code if the requested size does not fit into page. Regression
test included. (bug 347543)" along with additional fixes to KeyedStoreIC.
BUG=351261
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/200113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:22:55 +00:00
marja@chromium.org
6923d84785
New Compilation API, part 1, try 2
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
This is a fixed version of https://codereview.chromium.org/186723005/
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/199063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:20:33 +00:00
ulan@chromium.org
2c99cba38b
Propagate updated offsets in BoundsCheckBbData.
...
BUG=350863
LOG=Y
TEST=mjsunit/regress/regress-350863.js
R=bmeurer@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/197823009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:02:25 +00:00
bmeurer@chromium.org
358e176d50
Add regression test for range analysis bug.
...
BUG=v8:3204
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/200103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:54:26 +00:00
mvstanton@chromium.org
dd28969c1c
Continued fix for 351257. Reusing the feedback vector is too complex.
...
Attempting to re-use the type feedback vector stored in the
SharedFunctionInfo turns out to be difficult among the various cases.
It will be much easier to do this when deferred type feedback processing
is removed, as is in the works.
Created bug v8:3212 to track re-introducing the optimization of reusing
the type vector on recompile before optimization.
The CL also brings back the type vector on the SharedFunctionInfo.
BUG=351257
LOG=Y
R=bmeurer@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/199973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:28:37 +00:00
hpayer@chromium.org
7b810f4593
Revert "Moved type feedback vector to SharedFunctionInfo."
...
This reverts commit 828f1d563a3f0972135886888fd26526e04da07f.
Conflicts:
src/compiler.cc
test/cctest/test-compiler.cc
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/196283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 17:47:12 +00:00
marja@chromium.org
305b7a31ab
Fix test-parsing/TooManyArguments.
...
(Asan.)
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/199213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:55:38 +00:00
ulan@chromium.org
81a5cfb0e0
Revert r19897, r19898 for breaking mac-64 debug.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:10:35 +00:00
ulan@chromium.org
645392891f
Fix windows build after r19897.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:24:00 +00:00
ulan@chromium.org
2f26700885
Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/181833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:09:18 +00:00
yangguo@chromium.org
0f71a24f3a
Correctly retain argument value when deopting from Math.round on x64.
...
R=jkummerow@chromium.org
BUG=351624
LOG=N
Review URL: https://codereview.chromium.org/199013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 13:57:21 +00:00
dcarney@chromium.org
869db33cbb
Only call to LogSymbol when needed.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:56:13 +00:00
ulan@chromium.org
c64b78f6da
Check that constant is an integer before getting its value in HGraphBuilder::MatchRotateRight.
...
BUG=351263
LOG=N
TEST=mjsunit/regress/regress-351263
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:50:50 +00:00
yangguo@chromium.org
4e390c64f1
Harmony: move math features to es-staging.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/195123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:51:59 +00:00
jacob.bramley@arm.com
f6de983e4d
A64: Fix Fmov with signalling NaN literals.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:45:02 +00:00
svenpanne@chromium.org
390d3a0b15
Make translation of modulus operation '--stress-opt'-proof.
...
Note that we unconditionally deopt later, anyway, but our compilation
pipeline has to survive long enough to reach that place. :-/
LOG=y
BUG=352059
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/198833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:37:16 +00:00
marja@chromium.org
ee6b885d25
Revert "New Compilation API, part 1"
...
This reverts revision 19881.
Reason: WebKit build failure (will commit a fixed version shortly).
BUG=
Review URL: https://codereview.chromium.org/196793013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:14:16 +00:00
marja@chromium.org
52c0098f0d
New Compilation API, part 1
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/186723005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:54:11 +00:00
dcarney@chromium.org
750ab88341
move remaining uses of scanner literals into scanner
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198713002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:29:31 +00:00
jarin@chromium.org
713aa33f2a
Fix of argument materialization of captured heap numbers.
...
The escape analysis calculates the number of slots in an object as
no-of-slots = object-size / pointer-size. This gives 3 slots for
heap numbers on 32-bit architectures (one slot for the map, two for
the double value); however, my argument materialization code assumed
just two slots (map + value). Since Hydrogen allocates heap numbers
quite rarely, it is hard to produce a more meaningful repro than the
one provided by Clusterfuzz. Any suggestions are welcome.
The fix is simple - we just read out all extra slots (beyond the map
and the double) for heap numbers.
R=mstarzinger@chromium.org
BUG=351315
LOG=N
Review URL: https://codereview.chromium.org/196283004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:17:37 +00:00
dcarney@chromium.org
75ad285860
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
The previous version had to be reverted due to timeouts in win32/Debug: https://codereview.chromium.org/197173002/
The timeouts happened because the STL version on that platform contains sanity checking code which opens a 'debug window' in the GUI, patiently waiting for the user to click ok/cancel/somethirdoption. It turns out, the cause for that debug window was totally valid and the test had a use-after-free issue.
The 1st patch set is the code as before. The 2nd patch set contains the fix.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/197263002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:10:59 +00:00
adamk@chromium.org
8bd05193c7
Reland "Enable Object.observe by default" again
...
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706
This patch should be safe to merge once that lands.
BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org ,dslomov@chromium.org,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/198383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
jkummerow@chromium.org
f9ee4f19b4
Use intrinsics for builtin ArrayBuffer property accesses
...
BUG=chromium:351787
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/197793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 19:25:40 +00:00
alexandre.rames@arm.com
6b86401431
A64: Record the size of veneer pools for code offset mapping.
...
Mapping the code offsets between code with and without debug break slots
requires information about the size of the veneer pools and constant pools.
BUG=v8:3173
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/188253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:40:41 +00:00
alexandre.rames@arm.com
dafba1207d
A64: Rename k<Y>RegSize to k<Y>RegSizeInBits, and k<Y>RegSizeInBytes to k<Y>RegSize.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:18:40 +00:00
mvstanton@chromium.org
021d9e778c
Fix for bug 351257: type feedback vector initialization issue.
...
The feedback vector is stored in the shared function info, and there
is an effort to reuse it when re-running full code generation as a
prelude to creating optimized code. However we shouldn't reuse the
vector for lazily compiled methods on first compile, as scoping analysis
can change the allocation of vector slots.
BUG=351257
LOG=N
R=danno@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/196723003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:18:17 +00:00
svenpanne@chromium.org
be328fd4ce
Disable special handling of flooring division by constant until it is fixed for real.
...
Added a test to check the various division-like operations more exhaustively.
R=bmeurer@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/194863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 14:28:59 +00:00
dcarney@chromium.org
87e77085a6
Move most scanner buffer accesses into scanner.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 14:03:25 +00:00
verwaest@chromium.org
8735adb2c4
Don't fast RemoveArrayHoles in case of arguments arrays.
...
BUG=351645
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/197043004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 13:42:18 +00:00
mvstanton@chromium.org
7477bc39ca
350884: KeyedStoreIC miss didn't handle a transitioning case.
...
It's possible to get a transitioned map with no links to the origin
map if it's a shared map. Code in KeyedStoreIC::StoreElementStub
assumes it can check if two maps are in the same family by
traversing the transition array. Long term, the "family" relationship
should be recognized with the Normalized Map Cache. For now, allow
the IC to remain monomorphic in this case if the receiver map and
the previous receiver map are the same.
Filed V8 issue 3210 (https://code.google.com/p/v8/issues/detail?id=3210 )
to track the issue with the Normalized Map Cache.
BUG=350884
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/194623005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 13:35:40 +00:00
dslomov@chromium.org
79e817aac4
Revert "Implement PersistentValueMap, a map that stores UniquePersistent values."
...
and "Win64 fix for r19833."
This reverts commits r19833 and r19837 for breaking Windows tests
(test-api/PersistentValueMap).
TBR=vogelheim@chromium.org ,dcarney@chromium.org
Review URL: https://codereview.chromium.org/197173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 11:40:40 +00:00
dcarney@chromium.org
3aac1d3c07
Win64 fix for r19833.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197083002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:33:40 +00:00
jkummerow@chromium.org
105c1e08b7
Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it
...
Constants can still change their representation, so we cannot determine reachability of blocks based on their Smi-ness
BUG=chromium:351320
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/196943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:14:29 +00:00
danno@chromium.org
ae1669b501
Fix handling of polymorphic array accesses with constant index
...
R=jkummerow@chromium.org
BUG=chromium:351319
LOG=Y
Review URL: https://codereview.chromium.org/196353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:11:38 +00:00
jkummerow@chromium.org
8a1812f252
Fix lazy deopt after tagged binary ops
...
Also add policing code to ensure that optimized frames can in fact lazily deopt
at their respective current PC when we patch them for lazy bailout.
BUG=chromium:350434
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/194703008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 09:59:36 +00:00
dcarney@chromium.org
25468478e3
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/189463019
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 09:11:25 +00:00
rmcilroy@chromium.org
fadc74ec04
Clean up ARM mov 32bit immediate code in preparation for out of line constant pool.
...
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/138503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:17:02 +00:00
dslomov@chromium.org
8af219477a
Revert "Reland "Enable Object.observe by default""
...
This reverts commit r19736 for breaking browser_tests on ChromiumOS.
TBR=rossberg@chromium.org ,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/195603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:36:15 +00:00
dslomov@chromium.org
f6dac13dcb
Revert "Enable Object.observe by default"
...
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224
TBR=rafaelw@chromium.org ,rossberg@chromium.org
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/195123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
rossberg@chromium.org
85800eff3f
Fix issue with getOwnPropertySymbols and hidden properties
...
When getting the symbols of an object we need to ignore the hidden
properties of the prototype object since the hidden properties are
represented by a single string key and we will not include that hidden
string in the found names.
BUG=350864
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/192883005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:46:35 +00:00
marja@chromium.org
534245c9a5
Move ParseArguments to ParserBase and add tests.
...
Notes:
- PreParser didn't produce "too_many_arguments"; now it does.
- The argument count in the error message was wrong; fixed it.
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:30:47 +00:00
rossberg@chromium.org
94b5180db0
API support for promises
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:17:20 +00:00
dcarney@chromium.org
62fc099334
fix bad access check check
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/195163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:12:47 +00:00
rossberg@chromium.org
8e3f3cee9e
Eliminate extended mode, and other modes clean-up
...
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/181543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:41:22 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
yangguo@chromium.org
6e1507331e
Fix bug in constant folding object comparisons.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/195063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 13:34:01 +00:00
hpayer@chromium.org
d9090c0284
Do not run AddInstructionChangesNewSpacePromotion test in release mode.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/194663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:53:40 +00:00
yangguo@chromium.org
dda0aa88b0
Revert "Mark mjsunit/string-case as flaky."
...
This reverts r19760 since the issue has been fixed in r19755.
R=dslomov@google.com , dslomov@chromium.org
BUG=v8:3208
LOG=N
Review URL: https://codereview.chromium.org/194823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:38:53 +00:00
hpayer@chromium.org
9819cfd29c
Make sure tagged binary op instructions change new space promotion.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/194883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:36:55 +00:00
mvstanton@chromium.org
819d9f62d0
Fix for 350887: CHECK failure on new_length->IsSmi()
...
In ElementsAccessorBase::SetLengthImpl for a dictionary array, we try to
optimize setting array length if the new length is a smi. However, we
refuse to set an array length to less than the index of the highest
non-configurable array element. This index may be outside of smi range.
Handle this case accordingly.
BUG=350887
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/194803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:30:10 +00:00
rossberg@chromium.org
9abfab09fa
Types: cache lub bitset to avoid heap access
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/186743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:28:38 +00:00
jochen@chromium.org
00ba711658
Use a per-isolate cache for the date object JS bits
...
The old per-context cache made it difficult for the embedder to notify
v8 of date/time configuration changes. The embedder had to enter all
contexts for the isolate and notify v8 for each context.
With the new per-isolate cache, the embedder only needs to notify v8
once per isolate.
BUG=348856
LOG=y
R=dcarney@chromium.org , ulan@chromium.org
TEST=cctest/test-date
Review URL: https://codereview.chromium.org/189913023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 09:04:14 +00:00
titzer@chromium.org
91a2aa6a2c
Add MacroAssembler::Move(reg, immediate) on IA32.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/188463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 08:52:48 +00:00
rmcilroy@chromium.org
a199ba80ef
Differentate between code target pointers and heap pointers in constant pools.
...
Separate out code target pointers from normal heap pointer entries in constant
pool arrays so that the GC can correctly relocate these pointers using the
appropriate mechanism.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/183883011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 19:05:43 +00:00
jacob.bramley@arm.com
19a04c3a69
A64: Use a scope utility to allocate scratch registers.
...
This replaces Tmp0() and Tmp1() with a more flexible scratch register
pool. A scope-based utility can temporarily acquire registers from this
pool as needed.
We no longer have to worry about whether to use Tmp0(), Tmp1() or
something else; the scope can just get the next available scratch
register.
BUG=
R=jochen@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/164793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 16:25:15 +00:00
yangguo@chromium.org
1634e7de38
Fix assertion in RegExp parser to correctly expect stack overflow.
...
Advance() always checks for stack overflow. If stack indeed overflowed,
current() would hold the kEndMarker. ParseOctalLiteral does not expect
this in the assertion, which causes assertion failure.
R=mvstanton@chromium.org
BUG=350865
LOG=N
Review URL: https://codereview.chromium.org/192773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 15:52:10 +00:00
yangguo@chromium.org
e25d51cc85
Fix constant folding of %_IsMinusZero.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/190793015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 15:06:54 +00:00
dslomov@chromium.org
9eefbda27f
Mark mjsunit/string-case as flaky.
...
BUG=v8:3208
LOG=N
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/192573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 14:52:05 +00:00
yangguo@chromium.org
78d23e5662
Implement KnownSuccessor method to some control instructions.
...
R=jkummerow@chromium.org
BUG=v8:3118
LOG=N
Review URL: https://codereview.chromium.org/174863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 14:50:01 +00:00
rossberg@chromium.org
2d48e06e52
Import Blink layout tests for Promises.
...
Import Blink layout tests for Promises.
We omitted some tests (for example workers tests).
We fixed some wrong test expectations.
BUG=347095
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/182713002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 12:30:47 +00:00
verwaest@chromium.org
1180803953
Reland and fix "Allow ICs to be generated for own global proxy."
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/176793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 12:23:05 +00:00
rossberg@chromium.org
710ee827b5
Promise.all and Promise.race should reject non-array parameter.
...
Promise.all and Promise.race should reject the returned Promise if an
invalid parameter is given.
Since they don't support iterable now, they should reject the Promise
if a non-array parameter is given.
BUG=347453
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/182613003
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 12:01:06 +00:00
marja@chromium.org
8bd37cb7c3
Refactor script compilation / running & use of helper funcs in test-api.cc.
...
The tests were using different kind of constructs for achieving the same
thing. This makes refactoring the compilation API more difficult than it should
be.
cctest.h already contained helpers for compiling and running scripts, but they
were not used consistently.
For example, all these were used for running scripts:
v8::Script::Compile(v8_str("foo"))->Run();
v8::Script::Compile(v8::String::NewFromUtf8(isolate, "foo))->Run();
CompileRun(v8_str("foo"));
CompileRun(v8::String::NewFromUtf8(some_way_to_get_isolate(), "foo"));
v8::Local<v8::Script> script = any_of_the_above; script->Run();
Most of the tests just want to run a script (which is in const char*) and don't
care about how the v8::String is constructed or passed to the compiler API. Using
the helpers makes the test more readable and reduces boilerplate code which is
unrelated to what the test is testing.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/190503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:58:56 +00:00
marja@chromium.org
1b7055cf54
Unify (Pre)Parser::ParseObjectLiteral and add tests.
...
Notes:
- The regexp in the ParseObjectLiteralComment was wrong, made it less wrong (
it's still wrong since trailing commas are not required / allowed).
- Change in logic: In case we have "get somekeyword() { }", the "somekeyword"
was not logged as a symbol by PreParser and not expected in the preparser data
by Parser. This is unnecessary complication; in other contexts where keywords
are allowed as identifiers, they are logged as symbols (see
ParseIdentifierName).
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/173273006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:42:17 +00:00
bmeurer@chromium.org
bf86e624d4
Reland "Handle non-power-of-2 divisors in division-like operations".
...
Fixed the flooring div bug and added a test case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/191293012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 10:39:17 +00:00
yangguo@chromium.org
d3a16a2e2a
Add support for allowing an embedder to get the V8 profile timer event logs.
...
Contributed by fmeawad@chromium.org
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/186163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:56:48 +00:00
dcarney@chromium.org
2c74163f59
initialize v8::Private with v8::String
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/179983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:20:56 +00:00
dcarney@chromium.org
7d8cda6ea0
Allow Object::InternalFieldCount and Object::GetAlignedPointerFromInternalField to be called from Persistent classes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:18:57 +00:00