dcarney@chromium.org [Tue, 1 Apr 2014 11:21:20 +0000 (11:21 +0000)]
always lookup api holder from receiver
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
219723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 1 Apr 2014 11:16:13 +0000 (11:16 +0000)]
Cleanup property module.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
218683008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 1 Apr 2014 11:07:09 +0000 (11:07 +0000)]
Make it possible to use HeapType inside objects-inl.h.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
220193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 1 Apr 2014 11:04:37 +0000 (11:04 +0000)]
Replace uses of set_map by MigrateToMap.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
218783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 1 Apr 2014 10:56:16 +0000 (10:56 +0000)]
Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.
BUG=354967
R=dcarney@chromium.org
LOG=y
Committed: https://code.google.com/p/v8/source/detail?r=20375
Review URL: https://codereview.chromium.org/
215293005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 1 Apr 2014 10:49:44 +0000 (10:49 +0000)]
Only allow automatic FrameScope types for FrameAndConstantPoolScope
In certain situations the PP register would be invalid in a FrameScope::Manual FrameAndConstantPoolScope
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
214623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 1 Apr 2014 10:39:09 +0000 (10:39 +0000)]
Fixed assertions on ARM64.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
220763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20386
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 1 Apr 2014 10:32:25 +0000 (10:32 +0000)]
Set kTruncatingToSmi for HChange only when To rep is Smi
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
218613002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 1 Apr 2014 09:20:28 +0000 (09:20 +0000)]
Fixed power-of-2 predicates, excluding 0.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
219213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 1 Apr 2014 08:57:48 +0000 (08:57 +0000)]
Tighten object verification.
Often, when we call MaybeObject::Verify, what we want is Object::ObjectVerify.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
218993005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 1 Apr 2014 08:05:45 +0000 (08:05 +0000)]
Revert r20375.
Store i18n meta data in hidden symbols instead of js accessible properties
BUG=354967
LOG=N
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
220673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 1 Apr 2014 07:21:31 +0000 (07:21 +0000)]
Only assign environments when they are actually needed. (ARM and ARM64 only)
Twin of https://codereview.chromium.org/
210783003/ and https://codereview.chromium.org/
211153003/.
Cleaned up DoChange a bit on the way, making things more uniform across platforms, removed useless comments etc.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
214613004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 1 Apr 2014 07:21:05 +0000 (07:21 +0000)]
Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.
BUG=354967
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
215293005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 31 Mar 2014 22:50:53 +0000 (22:50 +0000)]
MIPS: Fix PrepareKeyedOperand on MIPS.
Port r20363 (
235f866c)
Original commit message:
When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
219923005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 31 Mar 2014 22:48:54 +0000 (22:48 +0000)]
MIPS: Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account."
Port r20358 (
5e9b653d)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
219163010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 31 Mar 2014 16:45:46 +0000 (16:45 +0000)]
We should perform the illegal redeclaration check earlier so that we do not confuse the AST typer with missing type feedback nodes.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
218493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 16:21:20 +0000 (16:21 +0000)]
Use JSObject::SetMapAndElements rather than set_map + set_elements.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
218583008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 31 Mar 2014 15:53:21 +0000 (15:53 +0000)]
Fix Type::Intersect to skip uninhabited bitsets
R=verwaest@chromium.org, bmeurer@chromium.org
BUG=chromium:357330
LOG=Y
Review URL: https://codereview.chromium.org/
219333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 31 Mar 2014 15:47:18 +0000 (15:47 +0000)]
Update list of V8 try bots.
R=jarin@chromium.org
TBR=jarin@chromium.org
BUG=353487
LOG=n
Review URL: https://codereview.chromium.org/
219493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 15:30:13 +0000 (15:30 +0000)]
Replace set_map_and_elements by MigrateToMap-based SetMapAndElements
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
218753005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 31 Mar 2014 15:14:28 +0000 (15:14 +0000)]
Fix PrepareKeyedOperand on arm.
When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.
R=verwaest@chromium.org
BUG=358057
LOG=Y
Review URL: https://codereview.chromium.org/
219473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 31 Mar 2014 15:01:46 +0000 (15:01 +0000)]
Fix left trimming check for large objects
BUG=358090
TEST=test/mjsunit/regress/regress-358090.js
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
213833008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 31 Mar 2014 14:29:01 +0000 (14:29 +0000)]
Make sure when we shrink an object that we store a filler first into the free memory before updating the map or size.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
219103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 14:21:04 +0000 (14:21 +0000)]
Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account.""
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
218663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 31 Mar 2014 14:14:54 +0000 (14:14 +0000)]
Do not check for interrupt when allocating stack locals.
R=dcarney@chromium.org
BUG=357137
LOG=N
Review URL: https://codereview.chromium.org/
219373004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Mon, 31 Mar 2014 14:06:42 +0000 (14:06 +0000)]
ARM64: Optimize AllocateHeapNumber to use STP.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
216933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 31 Mar 2014 13:35:12 +0000 (13:35 +0000)]
Finalisation disclaimer
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
219403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 31 Mar 2014 13:23:32 +0000 (13:23 +0000)]
Revert 20348 - "Fix LoadFieldByIndex to take mutable heap-numbers into account."
Reason for revert: crashes benchmarks/sunspider/string-fasta on ia32.debug
This also reverts r20350 and r20352
> Fix LoadFieldByIndex to take mutable heap-numbers into account.
>
> BUG=
> R=ishell@chromium.org
>
> Review URL: https://codereview.chromium.org/
213213002
BUG=none
LOG=n
TBR=verwaest@chromium.org
Revert "Use sarq on x64"
This reverts commit
e2a8ef9321345c6bc091054443bf2b9535ff6b1c.
Revert "Don't | int and bool"
This reverts commit
c90d713d3a8ceba4fec41933a63beb6e50a3d7c0.
Review URL: https://codereview.chromium.org/
219393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20354
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 31 Mar 2014 12:40:32 +0000 (12:40 +0000)]
Revert 20313 - "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
R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n
Review URL: https://codereview.chromium.org/
219303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 12:24:51 +0000 (12:24 +0000)]
Don't | int and bool
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
219293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 31 Mar 2014 12:09:59 +0000 (12:09 +0000)]
Skip cctest/test-mark-compact/NoPromotion on ARM64
BUG=v8:3247
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
217423006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 12:07:41 +0000 (12:07 +0000)]
Use sarq on x64
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
219043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 31 Mar 2014 12:01:02 +0000 (12:01 +0000)]
Cleanup bootstrapper, execution and factory modules.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
219233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 31 Mar 2014 11:59:29 +0000 (11:59 +0000)]
Fix LoadFieldByIndex to take mutable heap-numbers into account.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
213213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 31 Mar 2014 11:58:53 +0000 (11:58 +0000)]
Add missing lazy deopt point for the TransitionElementsKind instruction.
R=mvstanton@chromium.org, yangguo@chromium.org
BUG=357105
TEST=test/mjsunit/regress/regress-357105.js
LOG=N
Review URL: https://codereview.chromium.org/
216963002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 31 Mar 2014 11:13:39 +0000 (11:13 +0000)]
Cleanup string-stream module.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
219173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 31 Mar 2014 10:03:20 +0000 (10:03 +0000)]
Implement PersistentValueVector, analogous to PersistentValueMap.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
216973002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 31 Mar 2014 07:54:22 +0000 (07:54 +0000)]
Skip crashing harmony mjsunit tests on NaCL
BUG=none
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
219043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 31 Mar 2014 07:48:13 +0000 (07:48 +0000)]
Handlify DescriptorArray::Merge().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
169363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 28 Mar 2014 15:25:24 +0000 (15:25 +0000)]
Inline internal getters for typed arrays & friends.
R=hpayer@chromium.org, yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20330
Review URL: https://codereview.chromium.org/
212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Mar 2014 14:16:11 +0000 (14:16 +0000)]
Revert r20335 - "Raise StackOverflow during bootstrapping"
Reason for revert: New test crashes on nosnap bots
> See https://github.com/joyent/node/issues/7120
>
> R=jarin@chromium.org
> BUG=
>
> Review URL: https://codereview.chromium.org/
178073002
>
> Patch from Alexis Campailla <alexis@janeasystems.com>.
TBR=jarin@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
217013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 28 Mar 2014 13:33:50 +0000 (13:33 +0000)]
Revert "Inline internal getters for typed arrays & friends."
This reverts commit r20330 for breaking arm64 nosnap tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
216993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 28 Mar 2014 13:26:20 +0000 (13:26 +0000)]
Raise StackOverflow during bootstrapping
See https://github.com/joyent/node/issues/7120
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
178073002
Patch from Alexis Campailla <alexis@janeasystems.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Mar 2014 13:11:12 +0000 (13:11 +0000)]
Cleanup scanner character streams.
- GenericStringUtf16CharacterStream::start_position_ was unused.
- GenericStringUtf16CharacterStream inherits from BufferedUtf16CharacterStream,
so no need to initialize buffer_cursor_ and buffer_end_ twice (this makes it
clearer which class in the inheritance chain takes care of which variables).
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
216523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 28 Mar 2014 13:05:23 +0000 (13:05 +0000)]
Move FillWithHoles FixedArray and FixedDoubleArray functions to the given classes.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
216873004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Mar 2014 12:49:34 +0000 (12:49 +0000)]
Make it clearer that PreParser doesn't depend on Isolate.
The Isolate* member of ParserBase::FunctionState was only used by
Parser. Removing it makes it clear that there are no isolates in
PreParser. (There's also no Zone, since PreParserTraits::Type::Zone is void.)
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
216883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 28 Mar 2014 12:02:52 +0000 (12:02 +0000)]
Inline internal getters for typed arrays & friends.
R=hpayer@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 28 Mar 2014 11:13:14 +0000 (11:13 +0000)]
Refactor the arithmetic instructions for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
214753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Mar 2014 10:07:23 +0000 (10:07 +0000)]
Reland "Clean up runtime functions for Maths."
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
216643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Mar 2014 09:49:27 +0000 (09:49 +0000)]
Clean up some "GetProperty" methods/functions.
Runtime::GetObjectProperty:
- handled string.charAt, element access and property access
- now handlified
GetProperty in handles.cc:
- called to Runtime::GetObjectProperty
- now removed
Object::GetProperty (handlified version):
- handled element access and property access
- now changed to only do property access
New: Object::GetPropertyOrElement:
- handles element access and property access
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
210953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Mar 2014 09:35:50 +0000 (09:35 +0000)]
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
yurys@chromium.org [Fri, 28 Mar 2014 09:24:49 +0000 (09:24 +0000)]
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
dslomov@chromium.org [Fri, 28 Mar 2014 08:59:46 +0000 (08:59 +0000)]
Fix deopts causing uninitialized fixed typed arrays.
The deopt will not happen in production code, since we check that
lengths of fixed typed arrays are smis before calling
TypedArrayInitialze, but that makes deopt bot happy.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
212643016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Mar 2014 08:59:25 +0000 (08:59 +0000)]
Don't crash if we get a timezone change notification on an uninitialized isolate
Also make the date cache's timestamp more robust.
BUG=357362
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
216613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Mar 2014 08:49:58 +0000 (08:49 +0000)]
Fix TSAN issue wrt assertions in the optimizing compiler thread.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
212603013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 28 Mar 2014 06:59:20 +0000 (06:59 +0000)]
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
haitao.feng@intel.com [Fri, 28 Mar 2014 04:55:00 +0000 (04:55 +0000)]
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
haitao.feng@intel.com [Fri, 28 Mar 2014 00:35:23 +0000 (00:35 +0000)]
Use RegisterSize to count the pushq size and the argument slot size from JS to C++
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
213413010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 27 Mar 2014 18:29:07 +0000 (18:29 +0000)]
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
dslomov@chromium.org [Thu, 27 Mar 2014 17:40:52 +0000 (17:40 +0000)]
Add Bogus initialization for external_elements_kind and fixed_elements_kind
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
212553008
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Thu, 27 Mar 2014 16:43:44 +0000 (16:43 +0000)]
Fix some missing includes and forward declarations.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
214903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 27 Mar 2014 16:42:34 +0000 (16:42 +0000)]
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
ishell@chromium.org [Thu, 27 Mar 2014 16:41:09 +0000 (16:41 +0000)]
ElementsAccessor::CopyElements() and its callers handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
212573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Mar 2014 16:30:03 +0000 (16:30 +0000)]
Revert "Clean up runtime functions for Maths."
This reverts r20307.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
214593005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 27 Mar 2014 16:18:42 +0000 (16:18 +0000)]
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
rossberg@chromium.org [Thu, 27 Mar 2014 16:11:23 +0000 (16:11 +0000)]
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
jarin@chromium.org [Thu, 27 Mar 2014 15:33:06 +0000 (15:33 +0000)]
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
yangguo@chromium.org [Thu, 27 Mar 2014 14:45:56 +0000 (14:45 +0000)]
Clean up runtime functions for Maths.
R=dslomov@google.com, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
212763008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 27 Mar 2014 14:25:22 +0000 (14:25 +0000)]
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
yurys@chromium.org [Thu, 27 Mar 2014 14:19:51 +0000 (14:19 +0000)]
NativeContext::map_cache reference should be strong in heap snapshots
This change makes the reference itself a strong one. We will also need a special handling to make references from MapCache object to Map weak in the heap snapshots. The latter will be addressed separately.
BUG=chromium:357060
LOG=Y
R=alph@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
214683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 27 Mar 2014 13:26:25 +0000 (13:26 +0000)]
Use acquire/release stores and loads when reading and writing the parallel sweeping state of a page.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
214543008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 27 Mar 2014 12:54:26 +0000 (12:54 +0000)]
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
svenpanne@chromium.org [Thu, 27 Mar 2014 12:32:27 +0000 (12:32 +0000)]
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
svenpanne@chromium.org [Thu, 27 Mar 2014 12:15:14 +0000 (12:15 +0000)]
Removed 'executable' bits from header.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
212793011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Mar 2014 10:41:45 +0000 (10:41 +0000)]
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
ulan@chromium.org [Thu, 27 Mar 2014 10:10:51 +0000 (10:10 +0000)]
Fix assert in BoundsCheckBbData.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
201303007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 27 Mar 2014 10:06:53 +0000 (10:06 +0000)]
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
ulan@chromium.org [Thu, 27 Mar 2014 09:59:43 +0000 (09:59 +0000)]
Unify monomorphic and polymorphic cases in IC::PatchCache.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
171683007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Mar 2014 09:59:07 +0000 (09:59 +0000)]
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
yangguo@chromium.org [Thu, 27 Mar 2014 09:26:47 +0000 (09:26 +0000)]
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
rmcilroy@chromium.org [Wed, 26 Mar 2014 18:23:34 +0000 (18:23 +0000)]
Modify toolchain.gypi to avoid adding -m64 flag on android.
The -m64 flag isn't supported on Android. Add a similar gyp condition to avoid
setting the flag on Android in a similar manner to how the -m32 flag is avoided
on android.
BUG=354405
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
212863007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Wed, 26 Mar 2014 18:04:30 +0000 (18:04 +0000)]
Update atomicops_internals_arm64_gcc with changes made in chromium base/
BUG=354405
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
212673006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 26 Mar 2014 16:18:28 +0000 (16:18 +0000)]
Don't try to use ASan on Windows
Let ASan support depend on __has_feature(address_sanitizer) instead of defined(ADDRESS_SANITIZER)
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
213133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Mar 2014 16:02:00 +0000 (16:02 +0000)]
Fix noi18n compilation
TBR=machenbach@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
212163009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Mar 2014 15:51:48 +0000 (15:51 +0000)]
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
danno@chromium.org [Wed, 26 Mar 2014 15:51:08 +0000 (15:51 +0000)]
[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
jochen@chromium.org [Wed, 26 Mar 2014 15:46:05 +0000 (15:46 +0000)]
Clean up ICU data tables on shutdown.
This is only used by d8 if compiled with external data tables, or an
embedder that uses external data tables and v8's version of ICU.
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
210973007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Mar 2014 15:14:51 +0000 (15:14 +0000)]
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
jarin@chromium.org [Wed, 26 Mar 2014 15:05:01 +0000 (15:05 +0000)]
Web page front-end for grokdump.
This is a prototype to start discussion about useful features for
a better/friendlier minidump analysis tool.
The change adds an -w option to grokdump.py. With the option on,
grokdump will launch a web server and web browser for browsing the
minidump. It also supports adding persistent comments and listing +
browsing other minidumps (in the same directory) without the need to
restart the web server.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
194573005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 26 Mar 2014 13:14:08 +0000 (13:14 +0000)]
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
dslomov@chromium.org [Wed, 26 Mar 2014 12:50:13 +0000 (12:50 +0000)]
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
haitao.feng@intel.com [Wed, 26 Mar 2014 12:15:35 +0000 (12:15 +0000)]
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
haitao.feng@intel.com [Wed, 26 Mar 2014 11:17:53 +0000 (11:17 +0000)]
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
m.m.capewell@googlemail.com [Wed, 26 Mar 2014 10:36:52 +0000 (10:36 +0000)]
ARM64: fix DoDeferredTaggedToI
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
211063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 26 Mar 2014 10:35:31 +0000 (10:35 +0000)]
Only assign environments when they are actually needed. (x64 only)
Twin of https://code.google.com/p/v8/source/detail?r=20231.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
211153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 26 Mar 2014 10:14:04 +0000 (10:14 +0000)]
Promise constructor should not be enumerable.
Promise should not be enumerable in the global object.
BUG=352597
R=rossberg@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
211943004
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Wed, 26 Mar 2014 10:11:01 +0000 (10:11 +0000)]
Reland "ARM64: Add overflow checking support for multiplications by constant powers of 2."
This includes fixes for the overflow case spotted in mjsunit/mul-exhaustive-part4.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
212573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 26 Mar 2014 10:01:53 +0000 (10:01 +0000)]
ASan support for the Zone
R=jarin@chromium.org, kcc@google.com
Review URL: https://codereview.chromium.org/
208743004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Wed, 26 Mar 2014 09:39:09 +0000 (09:39 +0000)]
ARM64: Check size of code generated in ProfileEntryHookStub::MaybeCallEntryHook.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
200023005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 26 Mar 2014 08:57:21 +0000 (08:57 +0000)]
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