jochen@chromium.org [Tue, 27 May 2014 07:57:22 +0000 (07:57 +0000)]
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 27 May 2014 07:48:36 +0000 (07:48 +0000)]
Remove global pretenuring mode.
BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 07:19:32 +0000 (07:19 +0000)]
Fix d8's interactive shell.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
305553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 27 May 2014 07:17:08 +0000 (07:17 +0000)]
Avoid HeapObject check in HStoreNamedField.
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
299373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 06:35:45 +0000 (06:35 +0000)]
Fix arm64 gc stress issue.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
306483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 27 May 2014 04:19:18 +0000 (04:19 +0000)]
Relax register constraints for LMathSqrt.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
299423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:56:27 +0000 (19:56 +0000)]
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:43:01 +0000 (19:43 +0000)]
Buildfix for arm
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
299353006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:33:15 +0000 (19:33 +0000)]
Move OS::MemCopy and OS::MemMove out of platform to utils
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 15:18:45 +0000 (15:18 +0000)]
Move NumberOfProcessorsOnline from CPU to OS
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Mon, 26 May 2014 14:40:55 +0000 (14:40 +0000)]
MIPS: Skip write barriers in the fast case when setting up local context.
Port r21481 (
5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
302633002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 26 May 2014 13:59:24 +0000 (13:59 +0000)]
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 26 May 2014 13:34:23 +0000 (13:34 +0000)]
Send idle notification on ASAN builder for proper tear down.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
300003005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:33:06 +0000 (13:33 +0000)]
More nuisance
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
297323004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 13:31:55 +0000 (13:31 +0000)]
D8 should send idle notification even after the last run.
This, in combination with changes to the bot, should weed out false negatives.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
293393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:24:59 +0000 (13:24 +0000)]
Shut up VS
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
298073005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:10:52 +0000 (13:10 +0000)]
Various extensions to types
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
296213005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 26 May 2014 12:58:55 +0000 (12:58 +0000)]
Remove high promotion mode.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 26 May 2014 11:42:56 +0000 (11:42 +0000)]
Make 'name' property on functions configurable.
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/
296413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 11:40:34 +0000 (11:40 +0000)]
Actually fix the memory leak in debugger wrt promises.
In the fuzz test the debugger is not actually loaded...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
304453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 11:28:08 +0000 (11:28 +0000)]
Reland 21482 - "Merge v8globals.h and globals.h"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
293363006
BUG=none
TBR=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
295373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 11:13:18 +0000 (11:13 +0000)]
Fix memory leak caused by fuzzing.
%DebugPromiseHandlePrologue expects to be followed up by %..Epilogue,
otherwise we get a leak.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
301553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 26 May 2014 11:04:32 +0000 (11:04 +0000)]
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 09:36:13 +0000 (09:36 +0000)]
Always fully qualify the namespace to use in v8.h
Also, remove some unused methods.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
297223006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 May 2014 09:04:00 +0000 (09:04 +0000)]
Revert "Customized support for feedback on calls to Array." and follow-up fixes.
This reverts r21429, r21434, r21435, r21440, r21445.
BUG=chromium:377198
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
300693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 26 May 2014 08:39:04 +0000 (08:39 +0000)]
Revert "Merge v8globals.h and globals.h"
Because of tree redness.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
306443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 08:15:13 +0000 (08:15 +0000)]
Merge v8globals.h and globals.h
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
293363006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 May 2014 08:13:09 +0000 (08:13 +0000)]
Skip write barriers in the fast case when setting up local context.
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
297203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 26 May 2014 08:07:02 +0000 (08:07 +0000)]
Make let variables fresh in each iteration of a for-loop.
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-for
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
292743009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 08:05:04 +0000 (08:05 +0000)]
Fix memory leak in the debugger.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
297373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 07:29:39 +0000 (07:29 +0000)]
Some progress on translating toolchain.gypi to gn
BUG=none
R=brettw@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
299173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 07:05:56 +0000 (07:05 +0000)]
Fix leak in debug mirror cache.
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.
This also fixes a minor issue with script unloading.
R=ulan@chromium.org
BUG=376534
LOG=N
Review URL: https://codereview.chromium.org/
296953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 May 2014 06:41:21 +0000 (06:41 +0000)]
LoadUint32() doesn't need a scratch register.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
293363005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 23 May 2014 19:32:48 +0000 (19:32 +0000)]
MIPS: Fix r21470 “Reland r21442 Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
297093002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 23 May 2014 18:05:40 +0000 (18:05 +0000)]
MIPS: Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
Port r21457 (
8db39a8)
Original commit message:
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
294973013
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 May 2014 16:37:27 +0000 (16:37 +0000)]
Introduce x87 port
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Fri, 23 May 2014 14:06:42 +0000 (14:06 +0000)]
Allow HPushArgument to handle more than one argument.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
296113008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 May 2014 14:02:08 +0000 (14:02 +0000)]
Fix representation inference for mutable double boxes.
R=jarin@chromium.org
BUG=v8:3307
TEST=mjsunit/regress/regress-3307
LOG=N
Review URL: https://codereview.chromium.org/
298723014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 23 May 2014 14:01:17 +0000 (14:01 +0000)]
Check for cached transition to ExternalArray elements kind.
R=ishell@chromium.org, verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/
291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Fri, 23 May 2014 13:15:07 +0000 (13:15 +0000)]
Provide a helper to generate multiple Lithium instructions for one Hydrogen instruction.
R=jkummerow@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
296993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 23 May 2014 12:55:57 +0000 (12:55 +0000)]
Cleanup after inobject slack tracking improvement.
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
289283018
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 May 2014 11:48:40 +0000 (11:48 +0000)]
Skip dead blocks/instructions in store elimination.
Also improve tracing.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
297933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 May 2014 11:25:23 +0000 (11:25 +0000)]
Tiny steps towards a non-local 'Merge removable simulates' phase.
Distinguish copying/merging of the state. Better tracing.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
299883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 May 2014 11:12:25 +0000 (11:12 +0000)]
Revert "Make v8::TryCatch able to consume natively thrown exceptions (again)."
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
296133013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 23 May 2014 11:05:22 +0000 (11:05 +0000)]
Support ES6 weak collections in heap profiler
BUG=chromium:376196
LOG=Y
R=alph@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
294163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Fri, 23 May 2014 09:41:41 +0000 (09:41 +0000)]
ARM64 simulator fix for EXTR
Fixes extract when imms = 0 because a left shift of 64 is not valid.
R=rodolph.perfetta@arm.com, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
286193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 May 2014 09:30:47 +0000 (09:30 +0000)]
Avoid dynamic initial map check when inlining call-new.
This improves check elimination and removes a load plus
a map check for every inlined call-new.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
293223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 23 May 2014 08:52:05 +0000 (08:52 +0000)]
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
292183008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 May 2014 08:34:10 +0000 (08:34 +0000)]
Make v8::TryCatch able to consume natively thrown exceptions (again).
R=yangguo@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/
291393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 May 2014 08:23:41 +0000 (08:23 +0000)]
Drop gitignore entry for now obsolete test262 archive
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
300453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 May 2014 08:20:34 +0000 (08:20 +0000)]
Fix compilation errors.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
291343006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 May 2014 08:13:12 +0000 (08:13 +0000)]
If map was deprecated, abort compilation and allow re-compilation.
Also print a message if either map became unstable or map was
deprecated, if --trace-opt is enabled.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
292323005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 May 2014 07:48:22 +0000 (07:48 +0000)]
Use the flow engine for HMergeRemovableSimulatesPhase.
For now, this is a 1:1 reformulation of the block-local analysis, but
this will change.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
294473015
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 May 2014 07:35:30 +0000 (07:35 +0000)]
Add a bunch of files in my checkout to .gitignore
BUG=none
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
296453020
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 May 2014 07:16:29 +0000 (07:16 +0000)]
Remove dummy harmony-promises flag
BUG=none
LOG=n
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
292723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 May 2014 07:14:04 +0000 (07:14 +0000)]
Revert "Do away with variable length memcpy to Set/Get registers in simulator"
This reverts r21148, it broke tests in debug mode, e.g.
mjsunit/regress/regress-observe-map-cache or mjsunit/debug-stepout-scope-part5.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
296823014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 May 2014 06:35:00 +0000 (06:35 +0000)]
Do away with variable length memcpy to Set/Get registers in simulator
About a 32% boost.
Before - 5:31
Richards: 84.5
DeltaBlue: 128
Crypto: 65.3
RayTrace: 203
EarleyBoyer: 149
RegExp: 23.4
Splay: 121
NavierStokes: 98.9
----
Score (version 7): 93.8
After - 4:10
Richards: 107
DeltaBlue: 175
Crypto: 93.9
RayTrace: 258
EarleyBoyer: 186
RegExp: 32.7
Splay: 165
NavierStokes: 124
----
Score (version 7): 124
R=jacob.bramley@arm.com, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
213943002
Patch from Fritz Koenig <frkoenig@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 22 May 2014 17:33:07 +0000 (17:33 +0000)]
MIPS: Customized support for feedback on calls to Array.
Port r21429 (
a88ba79)
Original commit message:
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
293063012
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 22 May 2014 17:13:28 +0000 (17:13 +0000)]
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.""
This reverts r21442.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
292433016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 22 May 2014 17:00:50 +0000 (17:00 +0000)]
MIPS: Allow specifying base offset when constructing Keyed hydrogen instructions.
Port r21426 (
17e6338)
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
296983003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 22 May 2014 16:22:23 +0000 (16:22 +0000)]
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
290993009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 May 2014 15:27:57 +0000 (15:27 +0000)]
Consistently say 'own' property
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
291153005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 22 May 2014 15:11:11 +0000 (15:11 +0000)]
ClearTypeFeedbackInfo() assumed we have a context in the isolate.
Better, is to compare against the context for the JSFunction we are
currently looking at.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
294903013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 22 May 2014 13:59:37 +0000 (13:59 +0000)]
Harden a few builtins
Introducing BUILTIN_ASSERT, builtins' equivalent of RUNTIME_ASSERT.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
292173011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 22 May 2014 13:51:44 +0000 (13:51 +0000)]
If map became unstable, abort compilation and allow re-compilation.
BUG=
R=danno@google.com
Review URL: https://codereview.chromium.org/
291653006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 22 May 2014 13:38:32 +0000 (13:38 +0000)]
Revert "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
This reverts r21436.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
295933012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 22 May 2014 12:35:45 +0000 (12:35 +0000)]
Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
283383006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 22 May 2014 11:52:01 +0000 (11:52 +0000)]
GCMole evaluation order issue in CallIC::DoCustomHandler().
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
296693011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 22 May 2014 11:32:30 +0000 (11:32 +0000)]
ClearTypeFeedbackInfo(): context may not be initialized.
SharedFunctionInfo::ClearTypeFeedbackInfo() wants to compare feedback
to the array JSFunction, but it's called at times when the context
isn't fully initialized. Be cautious about this check.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
298983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 22 May 2014 11:26:48 +0000 (11:26 +0000)]
Add support for ES6 Symbol in heap profiler
Heap profiler will create a node with name Symbol and type kSymbol.
BUG=chromium:376194
LOG=Y
R=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
290013004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 22 May 2014 11:16:05 +0000 (11:16 +0000)]
Revert "Make v8::TryCatch able to consume natively thrown exceptions"
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
293123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 22 May 2014 11:13:37 +0000 (11:13 +0000)]
Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator.
Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC.
Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen.
BUG=373283
R=hpayer@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
291193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 May 2014 09:36:20 +0000 (09:36 +0000)]
Make serializer non-static.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
296853007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 22 May 2014 09:30:02 +0000 (09:30 +0000)]
Customized support for feedback on calls to Array.
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
279423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 22 May 2014 09:04:24 +0000 (09:04 +0000)]
Revert "Rename target-specific binaries built for host."
The Android build system support for gyp has been fixed to handle
target-dependent host binaries correctly without requiring them to
include the target architecture in the name. Remove the suffixes to make
referring to these targets simpler again.
This reverts r14209.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
236833004
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 22 May 2014 08:46:01 +0000 (08:46 +0000)]
Make v8::TryCatch able to consume natively thrown exceptions.
R=yangguo@chromium.org, haraken@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/
287133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 22 May 2014 08:37:50 +0000 (08:37 +0000)]
Allow specifying base offset when constructing Keyed hydrogen instructions
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
295913009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 22 May 2014 08:37:20 +0000 (08:37 +0000)]
Increase external allocation limit.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
291653005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 May 2014 08:11:10 +0000 (08:11 +0000)]
Remove usage of Locker/Unlocker where possible.
This is possible because we removed DebuggerAgent.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
286903004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 22 May 2014 08:09:57 +0000 (08:09 +0000)]
Fix Array.prototype.push and Array.prototype.unshift for read-only length.
BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
279773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 May 2014 08:04:17 +0000 (08:04 +0000)]
Remove check for SAHF support in ia32.
On ia32, SAHF is guaranteed. It's only necessary to probe for it on x64.
R=svenpanne@chromium.org
BUG=376087
LOG=N
Review URL: https://codereview.chromium.org/
296133006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 May 2014 07:57:33 +0000 (07:57 +0000)]
Remove special debug ExternalReferences.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
296043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 22 May 2014 07:40:07 +0000 (07:40 +0000)]
Don't replace initializing smi stores during store elimination.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
286903019
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 May 2014 07:32:59 +0000 (07:32 +0000)]
Reland "Prevent liveedit on or under generators with open activations"
The change relative to the previous CL is a logic change in
DropActivationsInActiveThreadImpl. The previous CL skipped the matcher
unless the frame was a JS frame; this was correct for
MultipleFunctionTarget but not for SingleFrameTarget.
I have not been able to reproduce the original failures on either
architecture (ia32 or x64; stack frame dropping is unsupported on other
architectures).
R=yangguo@chromium.org
LOG=N
TEST=mjsunit/harmony/generators-debug-liveedit.js
BUG=
Review URL: https://codereview.chromium.org/
270283002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Thu, 22 May 2014 05:36:27 +0000 (05:36 +0000)]
Introduce a separate event for CodeDeopt
The reuse of CodeCreateEvent for deopt events caused a CodeCreateEvent
fired twice for a code object. When the event was processed for the first
time it seized the no-fp-ranges from code object, so the second event
had no ranges info leaving code entry without them.
As a result when a cpu profile sample falls into the region it missed the
2nd stack frame.
LOG=N
BUG=
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
290093005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 22 May 2014 05:33:37 +0000 (05:33 +0000)]
Transitioning stores change maps.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
296953003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 21 May 2014 15:13:50 +0000 (15:13 +0000)]
Implement Mirror object for Symbols.
R=rossberg@chromium.org, yurys@chromium.org
BUG=v8:3290
LOG=Y
Review URL: https://codereview.chromium.org/
297513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 21 May 2014 15:00:32 +0000 (15:00 +0000)]
Move promises recorded for debugging to thread local data.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
296693005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 21 May 2014 12:58:06 +0000 (12:58 +0000)]
Revert "Increase external allocation limit."
BUG=
Review URL: https://codereview.chromium.org/
292983010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 21 May 2014 12:43:05 +0000 (12:43 +0000)]
Increase external allocation limit.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
297663008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 21 May 2014 12:36:37 +0000 (12:36 +0000)]
Reorder checks in Runtime_TypedArrayInitialize*
All checks must be performed before any side effects, so we get atomic transactions
BUG=chromium:374443
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
298843003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 21 May 2014 12:31:31 +0000 (12:31 +0000)]
Fix OrderedHashSet::Remove caller in debug-only code after r21408
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
294473011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 21 May 2014 12:16:47 +0000 (12:16 +0000)]
Teach OrderedHashSet::Remove to report whether it actually removed anything
This avoids an unnecessary runtime call from Set.prototype.delete().
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
290733008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 21 May 2014 11:57:33 +0000 (11:57 +0000)]
Comment out not yet used flags from BUILD.gn
gn started to complain about unused variables
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
292263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 21 May 2014 09:49:18 +0000 (09:49 +0000)]
Revert "Fix Heap::IsHeapIterable." (again)
This reverts commit r21397.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
299813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 21 May 2014 09:25:50 +0000 (09:25 +0000)]
Allow debugger to step into Map and Set forEach callbacks
BUG=v8:3341
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
293083005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 21 May 2014 09:25:05 +0000 (09:25 +0000)]
Stop using urllib.urlretrieve() directly.
Using urllib for SSL connections when behind a proxy is known to be
broken, so apply the same fix from depot_tools r149742 and use a wrapper
around urllib2 instead.
R=jkummerow@chromium.org
TEST=run test262 behind corporate proxy
Review URL: https://codereview.chromium.org/
297663003
Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 21 May 2014 08:51:29 +0000 (08:51 +0000)]
Fix ArrayShift hydrogen support
BUG=chromium:374838
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
299713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 21 May 2014 08:47:02 +0000 (08:47 +0000)]
Use SameValueZero for Map and Set
Instead of normalizing the keys we use SameValueZero for the actual
comparison.
BUG=v8:1622
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
299703004
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 21 May 2014 08:05:11 +0000 (08:05 +0000)]
Array Iterator next should check for own property
Since we are using private symbols for the internal slots we need to
check for a local property.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
268363011
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00