jochen@chromium.org [Thu, 5 Jun 2014 08:44:42 +0000 (08:44 +0000)]
Move most of the implementation of AdjustAmountOfExternalMemory to v8.h
This reduces the overhead of reporting allocations to v8 to an
acceptable level.
BUG=none
LOG=n
R=dcarney@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
310393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 5 Jun 2014 08:44:00 +0000 (08:44 +0000)]
Fix another presubmit error in heap.cc
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
319473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 5 Jun 2014 08:41:29 +0000 (08:41 +0000)]
Fix presubmit style error in parser.cc
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
315003007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 5 Jun 2014 08:33:42 +0000 (08:33 +0000)]
Documentation: fix comments for CommuteCondition.
R=jkummerow@google.com, jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
313283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 5 Jun 2014 07:33:01 +0000 (07:33 +0000)]
Preliminary support for block contexts in hydrogen.
Patch from Steven Keuchel <keuchel@chromium.org>
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
307593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21684
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 4 Jun 2014 15:21:35 +0000 (15:21 +0000)]
Revert "Folding of bounded dynamic size allocations with const size allocations."
This reverts r21675.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
311173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 4 Jun 2014 15:21:26 +0000 (15:21 +0000)]
Fix building android gn
BUG=none
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
313923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21678
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 4 Jun 2014 14:57:51 +0000 (14:57 +0000)]
Rename ReverseCondition to CommuteCondition, a more standard term.
R=dcarney@chromium.org, dcarney
BUG=
Review URL: https://codereview.chromium.org/
313083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 4 Jun 2014 13:40:52 +0000 (13:40 +0000)]
Rename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with the other ports.
R=dcarney@chromium.org, dcarney
BUG=
Review URL: https://codereview.chromium.org/
317663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 4 Jun 2014 13:39:02 +0000 (13:39 +0000)]
Folding of bounded dynamic size allocations with const size allocations.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
301973014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Jun 2014 12:09:10 +0000 (12:09 +0000)]
Flag --pretenure-call-new broken on MIPS.
A label in JSConstructStubHelper was in the wrong place.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
315963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Jun 2014 11:56:29 +0000 (11:56 +0000)]
Fix regexp=interpreted build.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
318603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Jun 2014 11:52:17 +0000 (11:52 +0000)]
Extend bounds check elimination to constant keys.
R=jkummerow@chromium.org
BUG=v8:3367
LOG=N
Review URL: https://codereview.chromium.org/
310333004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21672
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 4 Jun 2014 09:35:41 +0000 (09:35 +0000)]
Implemented folding of constant size allocation followed by dynamic size allocation.
Manually folded allocations (JSArray, JSRegExpResult) are split into two separate allocations.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
304153009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 4 Jun 2014 09:27:16 +0000 (09:27 +0000)]
X87: Improve write barriers in optimized code.
Port r21630 (a21ff10)
Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
314983002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Jun 2014 08:52:00 +0000 (08:52 +0000)]
Revert "Enable pretenure call new."
This reverts commit r21664 due to interesting failures.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
316823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Jun 2014 08:35:42 +0000 (08:35 +0000)]
Revert "Support external startup data in V8."
This reverts commit r21646, as it blocks pushing to chromium.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
317633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Jun 2014 08:21:39 +0000 (08:21 +0000)]
Fix invalid loop condition for Array.lastIndexOf().
BUG=380512
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
313073003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 4 Jun 2014 07:46:41 +0000 (07:46 +0000)]
Enable pretenure call new.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
312723004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 4 Jun 2014 06:08:35 +0000 (06:08 +0000)]
Introduce MakeSureDoubleAlignedHelper for x64 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
261233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 4 Jun 2014 01:40:07 +0000 (01:40 +0000)]
X87: Temporarily skip cctest/test-serialize tests in debug mode
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
307373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21661
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 3 Jun 2014 20:12:19 +0000 (20:12 +0000)]
Add API support for passing a C++ function as a microtask callback
This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
306053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 3 Jun 2014 19:23:10 +0000 (19:23 +0000)]
MIPS: Improve write barriers in optimized code.
Port r21630 (a21ff10)
Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
315653002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 18:10:10 +0000 (18:10 +0000)]
Roll buildtools to
5d89977ce55240995d1596fe420b818468f5ec37
TBR=machenbach@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
307403004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Jun 2014 17:37:33 +0000 (17:37 +0000)]
Visit encountered JSWeakCollection list during scavenging.
R=hpayer@chromium.org
BUG=chromium:380068
LOG=N
Review URL: https://codereview.chromium.org/
310783003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21655
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 3 Jun 2014 16:41:48 +0000 (16:41 +0000)]
Fix Arm release build after r21653
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
311903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21654
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 3 Jun 2014 16:22:10 +0000 (16:22 +0000)]
Add support for extended constant pool arrays.
This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range).
Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.
Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.
A number of changes are made to the ConstantPoolArray object in order to
support this:
- Small section layout is now entirely defined by the small layout bitmaps.
- The ConstantPoolArray no longer extends FixedArrayBase since the length
field is not useful for extended layouts.
- Enums are used to represent the type of an entry and the layout section.
- An iterator can be used to iterate through all elements of a given type.
- A number of tests were added for these features.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
304143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 3 Jun 2014 16:12:48 +0000 (16:12 +0000)]
Misc cleanup (split from the "delay string / value internalization" CL).
- Missing includes / forward declaration
- Parser: Simplifying calling error reporting funcs.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
307393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 3 Jun 2014 15:45:38 +0000 (15:45 +0000)]
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 3 Jun 2014 15:39:47 +0000 (15:39 +0000)]
Fix leaky tests added by r21649.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
313653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 3 Jun 2014 15:02:16 +0000 (15:02 +0000)]
Add tests for FuncNameInferrer.
There were no explicit tests for FuncNameInferrer (though, some tests might
implicitly rely on it working properly in the common cases). Afaics, there were
no tests which would exercise inferring two byte function names or escaped
function names.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
310063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Jun 2014 14:58:52 +0000 (14:58 +0000)]
Let benchmark runner exit with proper return codes.
BUG=374740
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
313603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 3 Jun 2014 14:39:55 +0000 (14:39 +0000)]
Rename EnterDebugger to DebugScope.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
300683005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Tue, 3 Jun 2014 14:38:35 +0000 (14:38 +0000)]
Support external startup data in V8.
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=bmeurer@chromium.org, jochen@chromium.org
Review URL: https://codereview.chromium.org/
293993021
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 3 Jun 2014 14:33:07 +0000 (14:33 +0000)]
Entering debugger scope should not make debugger active.
The motivation is that by only entering the debugger scope to call into
the debug context should not cause code to be compiled for debugging.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
306563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 3 Jun 2014 14:27:19 +0000 (14:27 +0000)]
Add option to disable MirrorCache.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
307383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21644
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Jun 2014 13:45:13 +0000 (13:45 +0000)]
Add buildtools to svn:ignore.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 13:39:42 +0000 (13:39 +0000)]
Add DEPS files and run checkdeps in presubmit check
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
312763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 13:38:35 +0000 (13:38 +0000)]
Ignore buildtools directory in presubmit.py checks
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
314573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 13:35:42 +0000 (13:35 +0000)]
Correct include paths in checks.h
BUG=none
R=mvstanton@chromium.org
TBR=mvstanton@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
314703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 13:34:36 +0000 (13:34 +0000)]
Make dependencies target less noisy when run repeatedly
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
309933005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 13:30:22 +0000 (13:30 +0000)]
Add buildtools/ to .gitignore
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
312643004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21638
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 3 Jun 2014 13:18:16 +0000 (13:18 +0000)]
Adjust cctest.status for Cpu profiler tests which are flaky.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
307383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 12:01:50 +0000 (12:01 +0000)]
Add dependency on buildtools repo
Currently, this adds checkdeps, in the future, this will be the place
where clang-format and gn lives.
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
308353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 3 Jun 2014 11:59:47 +0000 (11:59 +0000)]
Deopt maybe tenure allocation sites when semi-space is maximum size.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
307363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21635
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 3 Jun 2014 11:52:07 +0000 (11:52 +0000)]
Revert "Reland "Make 'name' property on functions configurable.""
This reverts commit r21609 due to browser test failures.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
313583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 11:01:35 +0000 (11:01 +0000)]
Update include paths for gcmole
TBR=mvstanton@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
310733005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21631
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Jun 2014 10:59:11 +0000 (10:59 +0000)]
Improve write barriers in optimized code.
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
297763006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 3 Jun 2014 10:40:36 +0000 (10:40 +0000)]
Rename new_space_dominator to dominator since dominators can also be in old space.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
312713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 3 Jun 2014 09:34:29 +0000 (09:34 +0000)]
Fix test
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
306353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21628
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 08:29:03 +0000 (08:29 +0000)]
Fix compilation on win shared and mips
TBR=mvstanton@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
309983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21627
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 3 Jun 2014 08:28:38 +0000 (08:28 +0000)]
Fix PathTracer.
When tracing, we abuse the map for marking, thereby mutating it.
HeapObject::map() takes care of recovering unabused value.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
316533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 08:12:43 +0000 (08:12 +0000)]
Use full include paths everywhere
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org, danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 3 Jun 2014 07:59:36 +0000 (07:59 +0000)]
%ObjectFreeze needs to exclude non-fast-path objects.
ClusterFuzz will call it with sloppy arguments and similar cases.
BUG=380049
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
315533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21624
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 3 Jun 2014 07:55:38 +0000 (07:55 +0000)]
Tenure allocation sites only when semi-space is maximum size.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
309623007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21623
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 3 Jun 2014 07:45:40 +0000 (07:45 +0000)]
When flag --nouse-osr is set, don't allow osr from hidden runtime calls.
BUG=379770
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
310773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 3 Jun 2014 07:40:43 +0000 (07:40 +0000)]
Minor cleanups & trivial refactoring related to Ast.
1) Literal::IsNull, IsTrue and IsFalse were dead code, and not needed.
2) No need to use the node type constants outside the Ast; there is IsSomeNodeType().
3) AsSomeNodeType() != NULL -> IsSomeNodeType().
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
298143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21621
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Tue, 3 Jun 2014 07:37:16 +0000 (07:37 +0000)]
ARM64: Fix ASM_LOCATION and the like.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
308023007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 07:26:07 +0000 (07:26 +0000)]
Add collection-iterator.js to BUILD.gn after r21615
LOG=n
BUG=none
TBR=adamk@chromium.org
Review URL: https://codereview.chromium.org/
314623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21619
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Jun 2014 06:50:46 +0000 (06:50 +0000)]
First cut at run_mksnapshot action for gn
BUG=none
R=brettw@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
293363009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Jun 2014 04:01:34 +0000 (04:01 +0000)]
Inline fast path for Array.indexOf() and Array.lastIndexOf().
TEST=mjsunit/array-indexing
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
308793012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21617
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 3 Jun 2014 00:53:16 +0000 (00:53 +0000)]
Split Put into Put and Remove
No longer treat the hole as a removal. This removes one branch in
Put and cleans up the API.
BUG=None
LOG=Y
R=adamk@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
309663005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21616
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 3 Jun 2014 00:34:01 +0000 (00:34 +0000)]
ES6: Add support for values/keys/entries for Map and Set
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 13:53:21 +0000 (13:53 +0000)]
X87: Don't push eax/rax before calling Runtime_Abort
Additionally delete the unused Throw(BailoutReason)
Port r21582 (41dd40b)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
305013012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 13:50:59 +0000 (13:50 +0000)]
X87: Simplify known successor block lowering.
Port r21589 (a9f3228)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
309043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21611
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Mon, 2 Jun 2014 13:40:39 +0000 (13:40 +0000)]
MIPS: Simplify known successor block lowering.
Port r21589 (a9f3228)
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
306053011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Jun 2014 13:35:26 +0000 (13:35 +0000)]
Reland "Make 'name' property on functions configurable."
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/
303463006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Mon, 2 Jun 2014 13:12:12 +0000 (13:12 +0000)]
ARM64: Restructure the L1 deopt jump table.
This restructures the L1 deopt jump table so that the base address of
the L2 table is only loaded once. This significantly reduces the size of
the generated code because only one big immediate needs to be loaded.
The total size of all L1 deopt tables generated during Octane is almost
halved in size, from about 1105kB to 584kB.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
305963010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21608
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Jun 2014 12:51:19 +0000 (12:51 +0000)]
Some more debugger-related refactorings.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
297303006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21607
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 12:17:05 +0000 (12:17 +0000)]
Handle HCheckInstanceType and HIsStringAndBranch in check elimination.
R=ishell@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=21593
Review URL: https://codereview.chromium.org/
300423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Jun 2014 12:07:37 +0000 (12:07 +0000)]
Release execution lock before dispatching interrupt handling.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
309533009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Jun 2014 11:41:50 +0000 (11:41 +0000)]
Some debugger-related clean-ups and renamings.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
300553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 11:39:44 +0000 (11:39 +0000)]
X87: use more suitable build flag
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
305643005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 11:37:50 +0000 (11:37 +0000)]
X87: Remove check for SAHF support in ia32
port r21422 (38edcd2)
Original commit message:
On ia32, SAHF is guaranteed. It's only necessary to probe for it on x64.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
301083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21602
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 11:34:45 +0000 (11:34 +0000)]
X87: Refactor CallICStub to use a different stub for each customization.
port r21564 (a39968c)
Original commit message:
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
307823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21601
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 2 Jun 2014 11:31:32 +0000 (11:31 +0000)]
X87: Move LiveEdit-related code.
port r21559 (dfd0cf8)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
303053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 2 Jun 2014 11:10:03 +0000 (11:10 +0000)]
Update gn config after r21578
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
312513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Jun 2014 11:02:06 +0000 (11:02 +0000)]
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.
The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
306203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Jun 2014 10:59:11 +0000 (10:59 +0000)]
Clean up (Get|Set)Property(Attributes)WithFailedAccessChecks
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
309653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21595
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 09:20:19 +0000 (09:20 +0000)]
Revert "Handle HCheckInstanceType and HIsStringAndBranch in check elimination."
This reverts commit r21593 for breaking the Webkit tests.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
310593004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21594
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 08:51:25 +0000 (08:51 +0000)]
Handle HCheckInstanceType and HIsStringAndBranch in check elimination.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
300423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21593
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 07:02:24 +0000 (07:02 +0000)]
Inline Array.shift() fast path instead of using a code stub.
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
308793010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 06:42:56 +0000 (06:42 +0000)]
Fix HPushArguments instruction.
Use the zone that is passed to New() and fix implementation of
HPushArguments::AddInput() to match HPhi::AddInput().
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
309763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Jun 2014 06:22:09 +0000 (06:22 +0000)]
Remove unused debug API.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
303693010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Jun 2014 05:33:35 +0000 (05:33 +0000)]
Simplify known successor block lowering.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
308593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Sat, 31 May 2014 14:11:48 +0000 (14:11 +0000)]
BuildNumberToString: Check for undefined keys in the cache
BUG=chromium:368114
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
302063004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 30 May 2014 17:07:38 +0000 (17:07 +0000)]
Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
302703004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 30 May 2014 17:04:40 +0000 (17:04 +0000)]
Harden Runtime_FunctionSetPrototype, Isolate::PrintStack
BUG=chromium:377209
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
306543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 30 May 2014 16:12:25 +0000 (16:12 +0000)]
HRor and HSar can deoptimize.
BUG=v8:3359
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
309483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 30 May 2014 14:27:19 +0000 (14:27 +0000)]
Don't push eax/rax before calling Runtime_Abort
Additionally delete the unused Throw(BailoutReason)
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
308083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21582
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Fri, 30 May 2014 09:31:44 +0000 (09:31 +0000)]
Fix typo in test/fuzz-natives/testcfg.py
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
305963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21581
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 29 May 2014 13:40:51 +0000 (13:40 +0000)]
MIPS: Refactor HType to get rid of various hacks.
Port r21578 (dcf13aa)
Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
301023004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21580
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 29 May 2014 13:11:55 +0000 (13:11 +0000)]
X87: Refactor HType to get rid of various hacks.
port r21578 (dcf13aa)
Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
BUG=
Review URL: https://codereview.chromium.org/
307903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21579
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 29 May 2014 04:13:50 +0000 (04:13 +0000)]
Refactor HType to get rid of various hacks.
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
300893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Wed, 28 May 2014 19:13:41 +0000 (19:13 +0000)]
Simplify, speed-up correct-context ObjectObserve calls
The original patch which ensured that Object.observe did allocations in the correct context regressed performance about 12%. This patch gets back most of that (about 11%) by simply returning the correct function which is then directly callable from JS, rather than by making the call from the runtime function. A side-effect is that their implementation is shorter.
LOG=Y
BUG=NONE
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
307543008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21575
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 28 May 2014 18:40:04 +0000 (18:40 +0000)]
Allow microtasks to throw exceptions and handle them gracefully
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 28 May 2014 16:00:52 +0000 (16:00 +0000)]
FastCloneShallowArrayStub should not be used it the length of the array is too big as it could eventually exceed the allowed size limit for manually folded allocations.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
300283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21573
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 28 May 2014 15:05:53 +0000 (15:05 +0000)]
Split Distributivity test
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
298253008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21572
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 28 May 2014 13:36:25 +0000 (13:36 +0000)]
Check that all properties are processed in NameDictionary::CopyEnumKeysTo.
BUG=372579
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
306663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21571
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 28 May 2014 13:05:17 +0000 (13:05 +0000)]
Add new benchmark suite runner.
TEST=./tools/run_benchmarks.py benchmarks/v8.json
TEST=cd tools/unittests; python -m unittest run_benchmarks_test
Does not support custom results processors yet. Will implement that in a future CL.
BUG=374740
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
293023006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21570
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00