Commit Graph

16733 Commits

Author SHA1 Message Date
yangguo@chromium.org
9f6294010a Enable concurrent OSR.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/258953010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 10:26:09 +00:00
yangguo@chromium.org
3888b2fe0c Do not make heap iterable eagerly.
R=jarin@chromium.org
BUG=379740
LOG=Y

Review URL: https://codereview.chromium.org/318863004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:56:38 +00:00
Jacob.Bramley@arm.com
22af061a83 ARM64: Add and use SmiTagAndPush.
In some cases, this allows SmiTag and Push to be combined into a single
operation.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/311133003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:55:46 +00:00
jochen@chromium.org
d208d2f661 Address a few TODOs in the gn config
- add direct dependant settings
- only compile mksnapshot on the host toolset

BUG=none
LOG=n
R=machenbach@chromium.org, brettw@chromium.org

Review URL: https://codereview.chromium.org/314073002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:45:24 +00:00
jochen@chromium.org
a83b1b9cb3 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
2014-06-05 08:44:42 +00:00
jochen@chromium.org
c0daaf1c60 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
2014-06-05 08:44:00 +00:00
ulan@chromium.org
fa75ec55cc 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
2014-06-05 08:41:29 +00:00
titzer@chromium.org
812edcdedc 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
2014-06-05 08:33:42 +00:00
ulan@chromium.org
c8b2fa454a 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
2014-06-05 07:33:01 +00:00
ishell@chromium.org
13918334f8 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
2014-06-04 15:21:35 +00:00
jochen@chromium.org
f136e8fcb7 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
2014-06-04 15:21:26 +00:00
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