Commit Graph

19547 Commits

Author SHA1 Message Date
machenbach@chromium.org
dec5522878 Make releases script more git friendly.
BUG=410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25022}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 15:05:29 +00:00
aandrey@chromium.org
aeb7ba5259 Introduce v8::Exception::GetMessage to find location of an error object.
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y

Committed: https://code.google.com/p/v8/source/detail?r=25015

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

Cr-Commit-Position: refs/heads/master@{#25021}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:51:46 +00:00
yangguo@chromium.org
ba1aef3fab Do not compile with Turbofan if we cannot deopt for debugging.
R=jarin@chromium.org
BUG=v8:3660
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25020}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:40:44 +00:00
yangguo@chromium.org
0e830ad0bb Do not embed array objects in unoptimized code.
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25019}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:21:43 +00:00
sigurds@chromium.org
75ac43928b Add floor, ceil, round (truncate) instructions for ia32, x64 (if SSE4.1) and
add floor, ceil, round (truncate and away from zero) for arm64.

R=bmeurer@chromium.org, dcarney@chromium.org, mstarzinger@chromium.org, rodolph.perfetta@arm.com
TEST=test/mjsunit/asm/math-floor.js,test/mjsunit/asm/math-ceil.js,test/unittest/compiler/js-builtin-reducer-unittest.cc

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

Cr-Commit-Position: refs/heads/master@{#25018}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:16:15 +00:00
machenbach@chromium.org
7c27d234f3 Reverting r25015 and r25016 for broken build.
TBR=yangguo@chromium.org, machenbach@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25017}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:57:47 +00:00
aandrey@chromium.org
ec01b45390 Build fix after r25015
TBR=yangguo@chromium.org, machenbach@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25016}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:31:44 +00:00
aandrey@chromium.org
ad4515fd1f Introduce v8::Exception::GetMessage to find location of an error object.
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25015}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:18:16 +00:00
machenbach@chromium.org
e42c564ffb Skip tests with TF.
TBR=mstarzinger@chromium.org,bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25014}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 12:38:48 +00:00
sigurds@chromium.org
15ce82722d Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8.
R=rodolph.perfetta@gmail.com, ulan@chromium.org, bmeurer@chromium.org, rodolph.perfetta@arm.com

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

Cr-Commit-Position: refs/heads/master@{#25013}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 11:01:12 +00:00
dcarney@chromium.org
e589ae22e4 remove a bunch of isolate::current in api.cc
R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25011}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:55:10 +00:00
dcarney@chromium.org
ee9de33075 [turbofan] move Node to vreg mapping to InstructionSelector
BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25010}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:50:41 +00:00
machenbach@chromium.org
264b9aaa31 Skipt tests with TF on windows.
TBR=bmeurer@chromium.org,mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25009}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:48:42 +00:00
dcarney@chromium.org
7f94583f79 [turbofan] add configuration parameters for register allocator
T=jarin@chromium.org

BUG=
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25008}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:01:47 +00:00
machenbach@chromium.org
43b6a2ecf6 Skip test on win debug.
TBR=bmeurer@chromium.org
BUG=chromium:428315
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25007}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 08:51:50 +00:00
yangguo@chromium.org
7e4f81653f Changed free(buffer) to delete [] buffer.
This bug (mismatch between new[] and free) was found by running VC++'s /analyze on all of Chrome.

BUG=chromium:427616
LOG=N
R=yangguo@chromium.org

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

Patch from Bruce Dawson <brucedawson@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#25003}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 07:41:45 +00:00
yangguo@chromium.org
e847cd21fd Add test case for replacing turbofan code for debugging.
R=jarin@chromium.org
BUG=v8:3660
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25002}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 07:33:58 +00:00
yangguo@chromium.org
76292d2daf Fix assertion scope in Runtime_GetScript.
The HeapIterator implies DisallowHeapAllocation, but Script::GetWrapper
may allocate.

LOG=N
R=jkummerow@chromium.org
BUG=chromium:410033

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

Cr-Commit-Position: refs/heads/master@{#25001}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 07:25:43 +00:00
weiliang.lin@intel.com
120d9d521a X87: EmitCreateIteratorResult loads map from function's context
port r24987

original commit message:

  EmitCreateIteratorResult loads map from function's context

  Caching or serialization can cause full-codegen output to be shared
  between contexts. CreateIteratorResult, however, was doing the wrong
  thing by creating results with the map that was current when the code
  was generated. Instead, we should chase pointers to load the right map
  from the function's context.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25000}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 03:46:19 +00:00
weiliang.lin@intel.com
b4981c69f1 X87: Classes: Add super support in methods and accessors
port r24976.

original commit message:

  Classes: Add super support in methods and accessors
  This is done by installing the [[HomeObject]] on the method and the
  accessor functions.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#24999}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 02:01:45 +00:00
rmcilroy@chromium.org
b975522272 Fix lo_space initialization for external snapshot
R=rmcilroy@chromium.org

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

Patch from André Baixo <baixo@google.com>.

Cr-Commit-Position: refs/heads/master@{#24998}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 23:27:12 +00:00
jarin@chromium.org
5d54e89ad6 [turbofan] Fix input count in Uint32Mod/Div reduction.
BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24997}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 21:07:47 +00:00
mstarzinger@chromium.org
5c30bc8585 Minor cleanup using BooleanConstant in graph builder.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24996}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 19:05:13 +00:00
titzer@chromium.org
5c25fdb65e Inline trivial OperatorProperties methods.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24995}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:47:14 +00:00
jkummerow@chromium.org
afb3968bc8 Add a few missing overrides found by a new clang warning.
Namely, -Winconsistent-missing-override. No behavior change.

BUG=v8:3658
LOG=N
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24994}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:31:58 +00:00
balazs.kilvady@imgtec.com
dde9dff2bb MIPS: EmitCreateIteratorResult loads map from function's context.
Port r24987 (cfc4713)

Original commit message:
Caching or serialization can cause full-codegen output to be shared
between contexts.  CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated.  Instead, we should chase pointers to load the right map
from the function's context.

BUG=v8:3656
LOG=N
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24993}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:20:14 +00:00
jarin@chromium.org
a4d06bc399 [turbofan] Add deopt for %StringMatch
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24992}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:16:43 +00:00
mstarzinger@chromium.org
0ca46e5ef0 Cleanup unscheduled use count for controls of coupled nodes.
R=titzer@chromium.org, jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24991}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 17:37:41 +00:00
adamk@chromium.org
234ffb76f7 Various cleanup/simplification in object-observe.js
The biggest change is the removal of the map wrapper objects:
we now operate directly on the observation weak map, since there
are already Get/GetOrCreate/Set functions for each info map.
Various other small cleanups as well, including the deletion of
unnecessary forwarding functions and making use of standard macros.

This is a reland of r24972, retaining GetObservationStateJS() to
keep snapshotting working properly.

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24990}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 17:28:12 +00:00
baptiste.afsa@arm.com
df312d90f0 [turbofan] Bug fix in arm64 ubfx selection.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24989}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 16:47:45 +00:00
dusan.milosavljevic@imgtec.com
f644083c64 MIPS: Remove madd.d usage for r6.
TEST=/benchmarks/octane/crypto
BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24988}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 16:16:46 +00:00
wingo@igalia.com
d3d29c640c EmitCreateIteratorResult loads map from function's context
Caching or serialization can cause full-codegen output to be shared
between contexts.  CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated.  Instead, we should chase pointers to load the right map
from the function's context.

R=verwaest@chromium.org
BUG=v8:3656
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#24987}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 16:11:13 +00:00
titzer@chromium.org
2a57f036b2 Run ControlReducer early after graph building, then again later.
The justification for doing this is to reduce the size of the graph and
therefore speedup later phases of compilation. The control reducer also
obviates the need to run the PhiReducer, since it subsumes it.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24986}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 15:27:58 +00:00
machenbach@chromium.org
f02d4acbf9 Skip some tests with TF on gc stress.
TBR=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24985}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 15:18:47 +00:00
machenbach@chromium.org
6a4d4b3690 Fix presubmit.
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24984}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:58:17 +00:00
titzer@chromium.org
6c6a71b3f7 Move input/output counts directly into Operators, simplying OperatorProperties.
This is a first step to refactoring OperatorProperties out of existence.
The next step is to inline OperatorProperties::GetXXXCount into the callers.

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24983}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:41:18 +00:00
machenbach@chromium.org
eca12478ab Switch push-to-trunk to git mode.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24981}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:20:10 +00:00
bmeurer@chromium.org
de088f207c [turbofan] Introduce new Select operator to improve bounds checking.
TEST=mjsunit,unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24980}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:17:14 +00:00
balazs.kilvady@imgtec.com
db3eab1d26 MIPS: Classes: Add super support in methods and accessors.
Port r24976 (5cb743f)

Original commit message:
This is done by installing the [[HomeObject]] on the method and the
accessor functions.

BUG=v8:3330
LOG=Y
R=dusan.milosavljevic@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24979}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 13:16:44 +00:00
dcarney@chromium.org
60909d1eaf [turbofan] cleanup register allocator interface a little
BUG=
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24978}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 12:35:16 +00:00
adamk@chromium.org
8a250b2e77 Revert "Various cleanup/simplification in object-observe.js"
It broke the context snapshot by trying to get ahold of the
per-isolate observation_state object too early.

This reverts commit a137cb74fb.

TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24977}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 12:15:13 +00:00
arv@chromium.org
5b3f9ec76d Classes: Add super support in methods and accessors
This is done by installing the [[HomeObject]] on the method and the
accessor functions.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24976}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 11:46:18 +00:00
dslomov@chromium.org
65fb2cf129 harmony-scoping: Correct dynamic lookups on a top level.
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24975}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 11:00:15 +00:00
baptiste.afsa@arm.com
3901244107 [arm64] Turn Word64And into tst instruction when possible.
Also add corresponding unit tests.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24974}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:51:46 +00:00
dcarney@chromium.org
d24cd63fff allow disabling of ArrayBuffer neutering
BUG=
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24973}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:37:12 +00:00
adamk@chromium.org
a137cb74fb Various cleanup/simplification in object-observe.js
The biggest change is the removal of the map wrapper objects: we now operate
directly on the observation weak map, since there are already Get/GetOrCreate/Set
functions for each info map. Various other small cleanups as well, including the
deletion of unnecessary forwarding functions and making use of standard macros.

R=arv@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24972}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:32:39 +00:00
yangguo@chromium.org
1c4f80836a Eager compile for debugging when debug is active.
Scenario:
On reload, Devtools restores previously set break points. At this point,
since Devtools is already opened, all code is compiled with debug break
slots. No break points exist yet, so we would lazily compile inner
functions, even ones that cannot be compiled lazily without a context.
So when we use Debug::FindSharedFunctionInfoInScript to find the break
positions, those lazily compiled functions are skipped.

By eagerly compiling when debug is active, we make sure that whenever
Devtools is open, functions that cannot be compiled lazily without a
context are always compiled with its outer function.

R=ulan@chromium.org
BUG=chromium:424142
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#24971}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:28:44 +00:00
yangguo@chromium.org
64cef0b2e9 Reland "In PrepareForBreakPoints, also purge shared function info not referenced by functions."
BUG=chromium:424142
LOG=N
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24970}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:19:44 +00:00
adamk@chromium.org
5b85911e5e Add performance tests for Map/Set with String and Object keys
The big change here is to split out each key type into its own
benchmark suite, since optimizations for different key types
are likely to be disjoint. ForEach tests have also been split
into separate "Iteration" suites, again with the thought that
iteration performance is likely separable from key type.

As part of adding the new tests, rejiggered the existing tests:
  - Map.set and Set.add (along with their Weak variants) no longer
    include construction costs in their scores
  - Moved key logic into the shared common.js

R=arv@chromium.org, machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24969}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:18:38 +00:00
mstarzinger@chromium.org
486433415b Switch scheduler to iterative floating control placement.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24968}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:18:15 +00:00