Commit Graph

16972 Commits

Author SHA1 Message Date
titzer@chromium.org
3c501d3a4b 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
2014-06-04 14:57:51 +00:00
titzer@chromium.org
bd857a7d10 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
2014-06-04 13:40:52 +00:00
ishell@chromium.org
d0cd026821 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
2014-06-04 13:39:02 +00:00
mvstanton@chromium.org
90a5b1414d 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
2014-06-04 12:09:10 +00:00
yangguo@chromium.org
991827c4c8 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
2014-06-04 11:56:29 +00:00
yangguo@chromium.org
61a5a413d7 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
2014-06-04 11:52:17 +00:00
ishell@chromium.org
4473edd7f1 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
2014-06-04 09:35:41 +00:00
weiliang.lin@intel.com
eac091277f 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
2014-06-04 09:27:16 +00:00
mvstanton@chromium.org
a75a788928 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
2014-06-04 08:52:00 +00:00
mvstanton@chromium.org
e039477000 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
2014-06-04 08:35:42 +00:00
bmeurer@chromium.org
9244429707 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
2014-06-04 08:21:39 +00:00
hpayer@chromium.org
b87cac0e0f 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
2014-06-04 07:46:41 +00:00
haitao.feng@intel.com
86dcdf3d91 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
2014-06-04 06:08:35 +00:00
weiliang.lin@intel.com
ba38bb579b 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
2014-06-04 01:40:07 +00:00
adamk@chromium.org
13d2f365cc 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
2014-06-03 20:12:19 +00:00
plind44@gmail.com
bd99223cad 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
2014-06-03 19:23:10 +00:00
jochen@chromium.org
4aa31e0744 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
2014-06-03 18:10:10 +00:00
mstarzinger@chromium.org
ed51f6f22f 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
2014-06-03 17:37:33 +00:00
rmcilroy@chromium.org
083419a36f 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
2014-06-03 16:41:48 +00:00
rmcilroy@chromium.org
97c962c255 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
2014-06-03 16:22:10 +00:00
marja@chromium.org
b6a8f739ea 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
2014-06-03 16:12:48 +00:00
ishell@chromium.org
55443af648 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
2014-06-03 15:45:38 +00:00
marja@chromium.org
2f1daf4aaa 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
2014-06-03 15:39:47 +00:00
marja@chromium.org
350a3329ed 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
2014-06-03 15:02:16 +00:00
machenbach@chromium.org
e4bde5ca25 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
2014-06-03 14:58:52 +00:00
yangguo@chromium.org
f9f6324997 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
2014-06-03 14:39:55 +00:00
vogelheim@chromium.org
61509aaea5 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
2014-06-03 14:38:35 +00:00
yangguo@chromium.org
f38b4bef9e 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
2014-06-03 14:33:07 +00:00
yangguo@chromium.org
feed21b6d5 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
2014-06-03 14:27:19 +00:00
machenbach@chromium.org
519c6c9c94 Add buildtools to svn:ignore.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:45:13 +00:00
jochen@chromium.org
a980e51471 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
2014-06-03 13:39:42 +00:00
jochen@chromium.org
368262fc76 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
2014-06-03 13:38:35 +00:00
jochen@chromium.org
b859b82008 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
2014-06-03 13:35:42 +00:00
jochen@chromium.org
8e9d20de38 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
2014-06-03 13:34:36 +00:00
jochen@chromium.org
d849c46f09 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
2014-06-03 13:30:22 +00:00
mvstanton@chromium.org
e093f3f0d3 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
2014-06-03 13:18:16 +00:00
jochen@chromium.org
e1c0e54209 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
2014-06-03 12:01:50 +00:00
hpayer@chromium.org
5a1364a588 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
2014-06-03 11:59:47 +00:00
mvstanton@chromium.org
d19aaa2b1c 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
2014-06-03 11:52:07 +00:00
jochen@chromium.org
2874a5ce8e 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
2014-06-03 11:01:35 +00:00
bmeurer@chromium.org
c0e047d53f 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
2014-06-03 10:59:11 +00:00
hpayer@chromium.org
8b1f83ada7 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
2014-06-03 10:40:36 +00:00
rossberg@chromium.org
396c169e7c 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
2014-06-03 09:34:29 +00:00
jochen@chromium.org
55e65935c9 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
2014-06-03 08:29:03 +00:00
ishell@chromium.org
b58a08d998 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
2014-06-03 08:28:38 +00:00
jochen@chromium.org
56a486c322 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
2014-06-03 08:12:43 +00:00
mvstanton@chromium.org
848a9af6b4 %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
2014-06-03 07:59:36 +00:00
hpayer@chromium.org
b8c3ee40ab 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
2014-06-03 07:55:38 +00:00
mvstanton@chromium.org
adeaedf547 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
2014-06-03 07:45:40 +00:00
marja@chromium.org
048ee40e3d 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
2014-06-03 07:40:43 +00:00