platform/upstream/v8.git
10 years agoDo not make heap iterable eagerly.
yangguo@chromium.org [Thu, 5 Jun 2014 08:56:38 +0000 (08:56 +0000)]
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

10 years agoARM64: Add and use SmiTagAndPush.
Jacob.Bramley@arm.com [Thu, 5 Jun 2014 08:55:46 +0000 (08:55 +0000)]
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

10 years agoAddress a few TODOs in the gn config
jochen@chromium.org [Thu, 5 Jun 2014 08:45:24 +0000 (08:45 +0000)]
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

10 years agoMove most of the implementation of AdjustAmountOfExternalMemory to v8.h
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

10 years agoFix another presubmit error in heap.cc
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

10 years agoFix presubmit style error in parser.cc
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

10 years agoDocumentation: fix comments for CommuteCondition.
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

10 years agoPreliminary support for block contexts in hydrogen.
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

10 years agoRevert "Folding of bounded dynamic size allocations with const size allocations."
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

10 years agoFix building android gn
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

10 years agoRename ReverseCondition to CommuteCondition, a more standard term.
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

10 years agoRename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with...
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

10 years agoFolding of bounded dynamic size allocations with const size allocations.
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

10 years agoFlag --pretenure-call-new broken on MIPS.
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

10 years agoFix regexp=interpreted build.
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

10 years agoExtend bounds check elimination to constant keys.
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

10 years agoImplemented folding of constant size allocation followed by dynamic size allocation.
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

10 years agoX87: Improve write barriers in optimized code.
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

10 years agoRevert "Enable pretenure call new."
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

10 years agoRevert "Support external startup data in V8."
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

10 years agoFix invalid loop condition for Array.lastIndexOf().
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

10 years agoEnable pretenure call new.
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

10 years agoIntroduce MakeSureDoubleAlignedHelper for x64 port.
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

10 years agoX87: Temporarily skip cctest/test-serialize tests in debug mode
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

10 years agoAdd API support for passing a C++ function as a microtask callback
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

10 years agoMIPS: Improve write barriers in optimized code.
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

10 years agoRoll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37
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

10 years agoVisit encountered JSWeakCollection list during scavenging.
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

10 years agoFix Arm release build after r21653
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

10 years agoAdd support for extended constant pool arrays.
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

10 years agoMisc cleanup (split from the "delay string / value internalization" CL).
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

10 years agoFixed lint errors caused by "runtime/references" rule (Is this a non-const reference...
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

10 years agoFix leaky tests added by r21649.
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

10 years agoAdd tests for FuncNameInferrer.
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

10 years agoLet benchmark runner exit with proper return codes.
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

10 years agoRename EnterDebugger to DebugScope.
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

10 years agoSupport external startup data in V8.
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

10 years agoEntering debugger scope should not make debugger active.
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

10 years agoAdd option to disable MirrorCache.
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

10 years agoAdd buildtools to svn:ignore.
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

10 years agoAdd DEPS files and run checkdeps in presubmit check
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

10 years agoIgnore buildtools directory in presubmit.py checks
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

10 years agoCorrect include paths in checks.h
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

10 years agoMake dependencies target less noisy when run repeatedly
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

10 years agoAdd buildtools/ to .gitignore
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

10 years agoAdjust cctest.status for Cpu profiler tests which are flaky.
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

10 years agoAdd dependency on buildtools repo
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

10 years agoDeopt maybe tenure allocation sites when semi-space is maximum size.
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

10 years agoRevert "Reland "Make 'name' property on functions configurable.""
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

10 years agoUpdate include paths for gcmole
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

10 years agoImprove write barriers in optimized code.
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

10 years agoRename new_space_dominator to dominator since dominators can also be in old space.
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

10 years agoFix test
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

10 years agoFix compilation on win shared and mips
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

10 years agoFix PathTracer.
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

10 years agoUse full include paths everywhere
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

10 years ago%ObjectFreeze needs to exclude non-fast-path objects.
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

10 years agoTenure allocation sites only when semi-space is maximum size.
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

10 years agoWhen flag --nouse-osr is set, don't allow osr from hidden runtime calls.
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

10 years agoMinor cleanups & trivial refactoring related to Ast.
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

10 years agoARM64: Fix ASM_LOCATION and the like.
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

10 years agoAdd collection-iterator.js to BUILD.gn after r21615
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

10 years agoFirst cut at run_mksnapshot action for gn
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

10 years agoInline fast path for Array.indexOf() and Array.lastIndexOf().
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

10 years agoSplit Put into Put and Remove
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

10 years agoES6: Add support for values/keys/entries for Map and Set
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

10 years agoX87: Don't push eax/rax before calling Runtime_Abort
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

10 years agoX87: Simplify known successor block lowering.
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

10 years agoMIPS: Simplify known successor block lowering.
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

10 years agoReland "Make 'name' property on functions configurable."
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

10 years agoARM64: Restructure the L1 deopt jump table.
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

10 years agoSome more debugger-related refactorings.
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

10 years agoHandle HCheckInstanceType and HIsStringAndBranch in check elimination.
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

10 years agoRelease execution lock before dispatching interrupt handling.
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

10 years agoSome debugger-related clean-ups and renamings.
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

10 years agoX87: use more suitable build flag
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

10 years agoX87: Remove check for SAHF support in ia32
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

10 years agoX87: Refactor CallICStub to use a different stub for each customization.
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

10 years agoX87: Move LiveEdit-related code.
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

10 years agoUpdate gn config after r21578
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

10 years agoRemove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
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

10 years agoClean up (Get|Set)Property(Attributes)WithFailedAccessChecks
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

10 years agoRevert "Handle HCheckInstanceType and HIsStringAndBranch in check elimination."
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

10 years agoHandle HCheckInstanceType and HIsStringAndBranch in check elimination.
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

10 years agoInline Array.shift() fast path instead of using a code stub.
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

10 years agoFix HPushArguments instruction.
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

10 years agoRemove unused debug API.
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

10 years agoSimplify known successor block lowering.
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

10 years agoBuildNumberToString: Check for undefined keys in the cache
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

10 years agoInlined optimized runtime functions: expose Runtime versions for direct testing,...
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

10 years agoHarden Runtime_FunctionSetPrototype, Isolate::PrintStack
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

10 years agoHRor and HSar can deoptimize.
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

10 years agoDon't push eax/rax before calling Runtime_Abort
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

10 years agoFix typo in test/fuzz-natives/testcfg.py
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

10 years agoMIPS: Refactor HType to get rid of various hacks.
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

10 years agoX87: Refactor HType to get rid of various hacks.
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

10 years agoRefactor HType to get rid of various hacks.
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

10 years agoSimplify, speed-up correct-context ObjectObserve calls
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

10 years agoAllow microtasks to throw exceptions and handle them gracefully
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

10 years agoFastCloneShallowArrayStub should not be used it the length of the array is too big...
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