platform/upstream/v8.git
10 years agoMIPS: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 19:00:02 +0000 (19:00 +0000)]
MIPS: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.

Port r22391 (fe86010)

Original commit message:
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

BUG=
R=akos.palfi@imgtec.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS64: Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapN...
dusan.milosavljevic@rt-rk.com [Tue, 15 Jul 2014 16:57:04 +0000 (16:57 +0000)]
MIPS64:  Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber.

Port r22129 (676bb14).

TEST=
BUG=
R=balazs.kilvady@imgtec.com, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Remove failure tag.".
hpayer@chromium.org [Tue, 15 Jul 2014 12:22:38 +0000 (12:22 +0000)]
Revert "Remove failure tag.".

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove failure tag.
hpayer@chromium.org [Tue, 15 Jul 2014 11:11:15 +0000 (11:11 +0000)]
Remove failure tag.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix assertion failure. Use Vector instead of List in code deserializer.
yangguo@chromium.org [Tue, 15 Jul 2014 11:01:03 +0000 (11:01 +0000)]
Fix assertion failure. Use Vector instead of List in code deserializer.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow embedding of ConsString objects into code.
mstarzinger@chromium.org [Tue, 15 Jul 2014 10:51:12 +0000 (10:51 +0000)]
Allow embedding of ConsString objects into code.

R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Use the same registers for StoreIC and KeyedStoreIC.
weiliang.lin@intel.com [Tue, 15 Jul 2014 10:41:23 +0000 (10:41 +0000)]
X87: Use the same registers for StoreIC and KeyedStoreIC.

port r22387

original commit message:
  Use the same registers for StoreIC and KeyedStoreIC.

  Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnum RegisterInfo renamed to ParameterIndices.
mvstanton@chromium.org [Tue, 15 Jul 2014 10:19:30 +0000 (10:19 +0000)]
Enum RegisterInfo renamed to ParameterIndices.

"Info" is information-poor.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not dump user source code in the code serializer.
yangguo@chromium.org [Tue, 15 Jul 2014 10:17:22 +0000 (10:17 +0000)]
Do not dump user source code in the code serializer.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Use register parameters in ElementsTransitionGenerator
weiliang.lin@intel.com [Tue, 15 Jul 2014 09:46:10 +0000 (09:46 +0000)]
X87: Use register parameters in ElementsTransitionGenerator

port r22384

original commit message:
 Use register parameters in ElementsTransitionGenerator
x

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnify the IsShortcutCandidate predicate.
mstarzinger@chromium.org [Tue, 15 Jul 2014 09:19:22 +0000 (09:19 +0000)]
Unify the IsShortcutCandidate predicate.

R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix up internalized strings after deserializing user code.
yangguo@chromium.org [Tue, 15 Jul 2014 08:46:47 +0000 (08:46 +0000)]
Fix up internalized strings after deserializing user code.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Use the same registers for StoreIC and KeyedStoreIC.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 08:40:26 +0000 (08:40 +0000)]
MIPS: Use the same registers for StoreIC and KeyedStoreIC.

Port r22387 (ff76c666)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Use register parameters in ElementsTransitionGenerator.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 08:38:16 +0000 (08:38 +0000)]
MIPS: Use register parameters in ElementsTransitionGenerator.

Port r22384 (52caca20)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Clean up and update const / var
weiliang.lin@intel.com [Tue, 15 Jul 2014 08:37:37 +0000 (08:37 +0000)]
X87: Clean up and update const / var

port r22379

original commit message:
This CL simplifies var / const by ensuring the behavior is consistent in itself,
and with regular JS semantics; between regular var/const and eval-ed var/const.

Legacy const is changed so that a declaration declares a configurable, but non-writable, slot,
 and the initializer reconfigures it (when possible) to non-configurable non-writable. This
 avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects.
Undefined is used instead.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove sequential sweeping mode and perform lazy sweeping when no sweeper threads...
hpayer@chromium.org [Tue, 15 Jul 2014 08:24:44 +0000 (08:24 +0000)]
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agofix the vtune support bug.
danno@chromium.org [Tue, 15 Jul 2014 08:13:42 +0000 (08:13 +0000)]
fix the vtune support bug.

During https://code.google.com/p/v8/source/detail?r=19925 checkin context bound scripts (Script)
and context unbound scripts (UnboundScript) are Distinguished.

And then Sven Panne helped to fix the vtune support compilation
error in https://code.google.com/p/v8/source/detail?r=20955.

The problem is that there is runtime error for vtune
support.
In our original implementation, we encapsulated and passed v8::internal::Script
to V8 API. It will leads to type check error for current V8::Script definition.

So I changed the Handle<Script> definition in JitCodeEvent
to Handle<UnboundScript>
 and add the corresponding change in log.cc.

If you do NOT prefer to change in include/v8.h. I think I can change the definition of
CodeEventLogger::LogRecordedBuffer(...) so that the we can pass the correct
type (JSFunction) as V8::Script to V8 API.

BUG=
R=danno@chromium.org, svenpanne@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix flags for test cases involving arrow functions
marja@chromium.org [Tue, 15 Jul 2014 08:10:26 +0000 (08:10 +0000)]
Fix flags for test cases involving arrow functions

There are a lot of tests in cctest/test-parsing/ErrorsArrowFunctions,
so it is quite slow. This patch removes some flags to make it faster.
Removing three flags that don't affect the test brings down the run
time one order of magnitude, which is fast enough even for debug/ASAN
bots.

Also, remove the unneeded kArrowFunctions flag from
cctest/test-parsing/NoErrorsYieldSloppyAllModes

BUG=
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop unnecessary receiver validity checks from {Load,Store}IC_Normal.
jkummerow@chromium.org [Tue, 15 Jul 2014 08:07:25 +0000 (08:07 +0000)]
Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.

Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved some copy-n-paste from StackFrame::Foo API entries.
svenpanne@chromium.org [Tue, 15 Jul 2014 06:59:42 +0000 (06:59 +0000)]
Removed some copy-n-paste from StackFrame::Foo API entries.

BUG=v8:3436
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse the same registers for StoreIC and KeyedStoreIC.
mvstanton@chromium.org [Mon, 14 Jul 2014 20:43:41 +0000 (20:43 +0000)]
Use the same registers for StoreIC and KeyedStoreIC.

Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove ASSERT since there are tons of different ASSIGN variants
kilvadyb@homejinni.com [Mon, 14 Jul 2014 18:53:49 +0000 (18:53 +0000)]
MIPS: Remove ASSERT since there are tons of different ASSIGN variants

Port r22382 (84a841f)

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself...
kilvadyb@homejinni.com [Mon, 14 Jul 2014 18:22:34 +0000 (18:22 +0000)]
MIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.

Port r22379 (fb62653)

Original commit message:
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse register parameters in ElementsTransitionGenerator.
mvstanton@chromium.org [Mon, 14 Jul 2014 15:03:38 +0000 (15:03 +0000)]
Use register parameters in ElementsTransitionGenerator.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove PropertyAttributes from SetProperty
verwaest@chromium.org [Mon, 14 Jul 2014 14:52:24 +0000 (14:52 +0000)]
Remove PropertyAttributes from SetProperty

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove ASSERT since there are tons of different ASSIGN variants
verwaest@chromium.org [Mon, 14 Jul 2014 14:42:33 +0000 (14:42 +0000)]
Remove ASSERT since there are tons of different ASSIGN variants

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReplace AddProperty by AddNamedProperty to speed up the common case
verwaest@chromium.org [Mon, 14 Jul 2014 14:05:30 +0000 (14:05 +0000)]
Replace AddProperty by AddNamedProperty to speed up the common case

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix d8 object printing (symbols, accessors)
rossberg@chromium.org [Mon, 14 Jul 2014 14:01:30 +0000 (14:01 +0000)]
Fix d8 object printing (symbols, accessors)

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThis CL simplifies var / const by ensuring the behavior is consistent in itself,...
verwaest@chromium.org [Mon, 14 Jul 2014 14:01:04 +0000 (14:01 +0000)]
This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.

Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Include symbol properties in Object.{create,defineProperties}"
rossberg@chromium.org [Mon, 14 Jul 2014 14:00:33 +0000 (14:00 +0000)]
Reland "Include symbol properties in Object.{create,defineProperties}"

Second try; implementation that doesn't rely on external arrays.

R=mstarzinger@chromium.org
BUG=v8:3440

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix error message about read-only symbol properties.
mstarzinger@chromium.org [Mon, 14 Jul 2014 13:57:10 +0000 (13:57 +0000)]
Fix error message about read-only symbol properties.

R=rossberg@chromium.org
BUG=v8:3441
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper...
titzer@chromium.org [Mon, 14 Jul 2014 13:02:36 +0000 (13:02 +0000)]
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."

Reason: broke win64 build

This reverts commit 221bfdd2da2b6f3c1cbe77c5d197f1ea626b0bd2.

TBR=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Include symbol properties in Object.{create,defineProperties}"
rossberg@chromium.org [Mon, 14 Jul 2014 12:27:08 +0000 (12:27 +0000)]
Revert "Include symbol properties in Object.{create,defineProperties}"

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove sequential sweeping mode and perform lazy sweeping when no sweeper threads...
hpayer@chromium.org [Mon, 14 Jul 2014 11:31:22 +0000 (11:31 +0000)]
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSerialize builtins by referencing canonical ones.
yangguo@chromium.org [Mon, 14 Jul 2014 11:22:03 +0000 (11:22 +0000)]
Serialize builtins by referencing canonical ones.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInclude symbol properties in Object.{create,defineProperties}
rossberg@chromium.org [Mon, 14 Jul 2014 10:59:29 +0000 (10:59 +0000)]
Include symbol properties in Object.{create,defineProperties}

R=mstarzinger@chromium.org
BUG=v8:3440
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnify LookupIterator::GetRoot and Objects::GetRootMap
jochen@chromium.org [Mon, 14 Jul 2014 10:54:24 +0000 (10:54 +0000)]
Unify LookupIterator::GetRoot and Objects::GetRootMap

BUG=none
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure that each profiling entry ends with a new line.
yangguo@chromium.org [Mon, 14 Jul 2014 10:47:40 +0000 (10:47 +0000)]
Ensure that each profiling entry ends with a new line.

Currently this does not happen if the message builder buffer is full.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Mon, 14 Jul 2014 09:27:07 +0000 (09:27 +0000)]
Whitespace change to trigger bots.

TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement handling of arrow functions in the parser
marja@chromium.org [Mon, 14 Jul 2014 07:55:45 +0000 (07:55 +0000)]
Implement handling of arrow functions in the parser

Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.

Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.

The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.

Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.

BUG=v8:2700
LOG=N
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce a PrototypeIterator class and use it for prototype access
jochen@chromium.org [Mon, 14 Jul 2014 07:19:49 +0000 (07:19 +0000)]
Introduce a PrototypeIterator class and use it for prototype access

The new pattern is that we first get the map of the root of the
prototype chain using Object::GetMapRoot() and then walk up the
prototype chain using Map::prototype().

BUG=???
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhiltespace change to trigger bots.
machenbach@chromium.org [Sat, 12 Jul 2014 16:56:32 +0000 (16:56 +0000)]
Whiltespace change to trigger bots.

TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhiltespace change to trigger bots.
machenbach@chromium.org [Sat, 12 Jul 2014 15:27:18 +0000 (15:27 +0000)]
Whiltespace change to trigger bots.

TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix arm64 deoptimization from double registers (reverts r20613).
jarin@chromium.org [Fri, 11 Jul 2014 19:30:09 +0000 (19:30 +0000)]
Fix arm64 deoptimization from double registers (reverts r20613).

This reverts "ARM64: Use pair memory access in deoptimizer entry", r20613. It does not really make sense to micro-optimize the deoptimizer as it is the ultra-slow path. Moreover, the original code was easier to read (in addition to being correct).

BUG=391313
LOG=N
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Use the same registers for StoreIC and KeyedStoreIC."
mvstanton@chromium.org [Fri, 11 Jul 2014 14:50:59 +0000 (14:50 +0000)]
Revert "Use the same registers for StoreIC and KeyedStoreIC."

This reverts commit r22358 due to release mode arm64 test failures.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse the same registers for StoreIC and KeyedStoreIC.
mvstanton@chromium.org [Fri, 11 Jul 2014 13:53:19 +0000 (13:53 +0000)]
Use the same registers for StoreIC and KeyedStoreIC.

The x64 and ia32 platforms already did this, port to arm and arm64.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: slightly reduce deopt tables size.
kilvadyb@homejinni.com [Fri, 11 Jul 2014 13:49:33 +0000 (13:49 +0000)]
MIPS: slightly reduce deopt tables size.

Port r22305 (00a3740)

BUG=
R=dusan.milosavljevic@rt-rk.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Fri, 11 Jul 2014 13:29:12 +0000 (13:29 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnbreak build by making old MSVC happy (hopefully).
svenpanne@chromium.org [Fri, 11 Jul 2014 12:55:56 +0000 (12:55 +0000)]
Unbreak build by making old MSVC happy (hopefully).

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMade printing of special FP values portable.
svenpanne@chromium.org [Fri, 11 Jul 2014 12:42:37 +0000 (12:42 +0000)]
Made printing of special FP values portable.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Fri, 11 Jul 2014 12:37:53 +0000 (12:37 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Fri, 11 Jul 2014 12:28:22 +0000 (12:28 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake UBSan happy.
svenpanne@chromium.org [Fri, 11 Jul 2014 12:12:58 +0000 (12:12 +0000)]
Make UBSan happy.

This involves avoiding signed multiplication overflow, shifting too
far and overflow during negation.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Fri, 11 Jul 2014 11:54:33 +0000 (11:54 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper...
dslomov@chromium.org [Fri, 11 Jul 2014 11:33:57 +0000 (11:33 +0000)]
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."

This reverts commit r22346 for breaking GC stress tests.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisabling flakes.Filed 3433, 3434, 3435.
dslomov@chromium.org [Fri, 11 Jul 2014 11:20:37 +0000 (11:20 +0000)]
Disabling flakes.Filed 3433, 3434, 3435.

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: update owners.
akos.palfi@imgtec.com [Fri, 11 Jul 2014 10:02:48 +0000 (10:02 +0000)]
MIPS: update owners.

BUG=
R=danno@chromium.org, plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove sequential sweeping mode and perform lazy sweeping when no sweeper threads...
hpayer@chromium.org [Fri, 11 Jul 2014 09:51:34 +0000 (09:51 +0000)]
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnflake and speedup JsNative*Sample cpu profile tests
alph@chromium.org [Fri, 11 Jul 2014 09:06:12 +0000 (09:06 +0000)]
Unflake and speedup JsNative*Sample cpu profile tests

Instead of running cpu profiler for a hundred milliseconds,
collecting samples distributed in a non-deterministic way all along
the code, make the tests rely on a single sample we collect on
the profiler start.

R=bmeurer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove AddCode and RemoveCode GDB JIT entry hooks.
mstarzinger@chromium.org [Fri, 11 Jul 2014 07:51:25 +0000 (07:51 +0000)]
Remove AddCode and RemoveCode GDB JIT entry hooks.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Use a register spec for StoreIC and KeyedStoreIC.
weiliang.lin@intel.com [Fri, 11 Jul 2014 07:47:58 +0000 (07:47 +0000)]
X87: Use a register spec for StoreIC and KeyedStoreIC.

port r22328

original commit message:

  Use a register spec for StoreIC and KeyedStoreIC.

  This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange ASSERTs in serializer macro to STATIC_ASSERTs.
yangguo@chromium.org [Fri, 11 Jul 2014 07:04:51 +0000 (07:04 +0000)]
Change ASSERTs in serializer macro to STATIC_ASSERTs.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix assertion in ScriptData.
yangguo@chromium.org [Fri, 11 Jul 2014 06:58:25 +0000 (06:58 +0000)]
Fix assertion in ScriptData.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily remove newly introduced assertion.
yangguo@chromium.org [Fri, 11 Jul 2014 06:46:24 +0000 (06:46 +0000)]
Temporarily remove newly introduced assertion.

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Implement handling of arrow functions in the parser"
marja@chromium.org [Fri, 11 Jul 2014 06:39:31 +0000 (06:39 +0000)]
Revert "Implement handling of arrow functions in the parser"

This reverts revision 22320.

Reason: ASAN still detects leaks!

Conflicts:
src/preparser.h

TBR=aperez@igalia.com,marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Use a register spec for StoreIC and KeyedStoreIC.
akos.palfi@imgtec.com [Fri, 11 Jul 2014 01:50:12 +0000 (01:50 +0000)]
MIPS: Use a register spec for StoreIC and KeyedStoreIC.

Port r22328 (92275b7a)

Original commit message:
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

BUG=
R=gergely@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Enable out-of-line constant pool on Arm"
rmcilroy@chromium.org [Thu, 10 Jul 2014 22:39:10 +0000 (22:39 +0000)]
Revert "Enable out-of-line constant pool on Arm"

This reverts r22332 due to Arm breakages.

TBR=dslomov

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd compile-only win64 trybot.
machenbach@chromium.org [Thu, 10 Jul 2014 19:24:33 +0000 (19:24 +0000)]
Add compile-only win64 trybot.

BUG=353487
LOG=n
R=jochen@chromium.org
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure we update attributes in CopyGeneralizeFieldRepresentation
verwaest@chromium.org [Thu, 10 Jul 2014 18:30:19 +0000 (18:30 +0000)]
Ensure we update attributes in CopyGeneralizeFieldRepresentation

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable out-of-line constant pool on Arm
rmcilroy@chromium.org [Thu, 10 Jul 2014 18:06:39 +0000 (18:06 +0000)]
Enable out-of-line constant pool on Arm

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows compile, again.
hpayer@chromium.org [Thu, 10 Jul 2014 17:13:27 +0000 (17:13 +0000)]
Fix windows compile, again.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly install JitCodeEventHandler for GDB JIT if requested.
mstarzinger@chromium.org [Thu, 10 Jul 2014 16:31:57 +0000 (16:31 +0000)]
Only install JitCodeEventHandler for GDB JIT if requested.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation with shared library.
mstarzinger@chromium.org [Thu, 10 Jul 2014 15:19:29 +0000 (15:19 +0000)]
Fix compilation with shared library.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse a register spec for StoreIC and KeyedStoreIC.
mvstanton@chromium.org [Thu, 10 Jul 2014 14:59:47 +0000 (14:59 +0000)]
Use a register spec for StoreIC and KeyedStoreIC.

This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoStray assertion
rossberg@chromium.org [Thu, 10 Jul 2014 14:54:35 +0000 (14:54 +0000)]
Stray assertion

TBR=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Windows compile error.
hpayer@chromium.org [Thu, 10 Jul 2014 14:50:32 +0000 (14:50 +0000)]
Fix Windows compile error.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove GDB JIT hooks from the position recorder.
mstarzinger@chromium.org [Thu, 10 Jul 2014 14:41:06 +0000 (14:41 +0000)]
Remove GDB JIT hooks from the position recorder.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser sync tests for `let` identifiers
rossberg@chromium.org [Thu, 10 Jul 2014 14:39:35 +0000 (14:39 +0000)]
Parser sync tests for `let` identifiers

R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake `let` usable as an identifier in ES6 sloppy mode.
rossberg@chromium.org [Thu, 10 Jul 2014 14:06:37 +0000 (14:06 +0000)]
Make `let` usable as an identifier in ES6 sloppy mode.

All of our mjsunit suite now runs through with --harmony-scoping enabled, up to expected failures (tests checking syntax errors for const/function in strict mode).

R=marja@chromium.org, ulan@chromium.org
BUG=v8:2198
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Windows compile error.
hpayer@chromium.org [Thu, 10 Jul 2014 13:57:07 +0000 (13:57 +0000)]
Fix Windows compile error.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSwitch type of the-hole to be internal.
mstarzinger@chromium.org [Thu, 10 Jul 2014 12:37:08 +0000 (12:37 +0000)]
Switch type of the-hole to be internal.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement handling of arrow functions in the parser
marja@chromium.org [Thu, 10 Jul 2014 12:27:07 +0000 (12:27 +0000)]
Implement handling of arrow functions in the parser

Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.

Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.

The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.

Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.

BUG=v8:2700
LOG=N
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Precisely sweeping of scan-on-scavenge pages."
hpayer@chromium.org [Thu, 10 Jul 2014 12:22:01 +0000 (12:22 +0000)]
Revert "Precisely sweeping of scan-on-scavenge pages."

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow main thread to contribute to the sweeping phase.
hpayer@chromium.org [Thu, 10 Jul 2014 12:07:28 +0000 (12:07 +0000)]
Allow main thread to contribute to the sweeping phase.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix memory leak in Parser after r22314.
yangguo@chromium.org [Thu, 10 Jul 2014 11:34:14 +0000 (11:34 +0000)]
Fix memory leak in Parser after r22314.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport ES6 Map and Set in heap profiler
yurys@chromium.org [Thu, 10 Jul 2014 10:54:47 +0000 (10:54 +0000)]
Support ES6 Map and Set in heap profiler

Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix build.
yangguo@chromium.org [Thu, 10 Jul 2014 10:48:28 +0000 (10:48 +0000)]
Fix build.

TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactor ScriptData class for cached compile data.
yangguo@chromium.org [Thu, 10 Jul 2014 10:28:05 +0000 (10:28 +0000)]
Refactor ScriptData class for cached compile data.

R=marja@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly compare allocation output in predictable mode.
machenbach@chromium.org [Thu, 10 Jul 2014 09:48:31 +0000 (09:48 +0000)]
Only compare allocation output in predictable mode.

This also adds an assert that makes sure allocations are printed.

BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Support ES6 Map and Set in heap profiler"
yurys@chromium.org [Thu, 10 Jul 2014 08:45:45 +0000 (08:45 +0000)]
Revert "Support ES6 Map and Set in heap profiler"

This reverts commit 47f86e067fc0779c53f67d24598eba47d03cd0a9 due to some weird (likely unrelated) compilation errors.

BUG=v8:3368
TBR=rossberg

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport ES6 Map and Set in heap profiler
yurys@chromium.org [Thu, 10 Jul 2014 07:24:52 +0000 (07:24 +0000)]
Support ES6 Map and Set in heap profiler

Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid unnecessary hashing in OrderedHashTable
adamk@chromium.org [Wed, 9 Jul 2014 16:19:53 +0000 (16:19 +0000)]
Avoid unnecessary hashing in OrderedHashTable

Add an overload of OrderedHashTable::FindEntry that takes
a hash along with the key to allow callsites which need to
re-use the hash (such as Add()) to avoid recomputing it.

On my Macbook this results in improvements on the Collections
microbenchmarks:
  Map-Collections: +4%
  Set-Collections: +5%

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser / Scanner: Minor refactorings to make streaming scripts work easier.
marja@chromium.org [Wed, 9 Jul 2014 14:50:23 +0000 (14:50 +0000)]
Parser / Scanner: Minor refactorings to make streaming scripts work easier.

1) Call DeserializeScopeChain only if it's going to do something
non-trivial. And we only need to internalize the AstValueFactory in those cases.

2) BufferedUtf16CharacterStream::FillBuffer doesn't need the length
argument. The length is always kBufferSize and the subclasses can just read it
(it's protected).

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop deprecated --es5-readonly flag from test suite.
mstarzinger@chromium.org [Wed, 9 Jul 2014 14:37:58 +0000 (14:37 +0000)]
Drop deprecated --es5-readonly flag from test suite.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: sligthly reduce deopt tables size
m.m.capewell@googlemail.com [Wed, 9 Jul 2014 14:08:13 +0000 (14:08 +0000)]
ARM: sligthly reduce deopt tables size

BUG=
R=ulan@chromium.org, bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove deprecate counter/histogram methods
jochen@chromium.org [Wed, 9 Jul 2014 14:03:05 +0000 (14:03 +0000)]
Remove deprecate counter/histogram methods

Callers should use the methods with the same name on Isolate instead.

BUG=none
R=dcarney@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix number of times failures are rerun.
machenbach@chromium.org [Wed, 9 Jul 2014 12:48:08 +0000 (12:48 +0000)]
Fix number of times failures are rerun.

BUG=374134
LOG=n
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed printing of external references.
svenpanne@chromium.org [Wed, 9 Jul 2014 12:12:21 +0000 (12:12 +0000)]
Fixed printing of external references.

Previously we relied on undefined behavior (printf("%s", NULL)), now
we explicitly emit "<unknown>" when we hit an external reference with
an unknown name.

BUG=392068
LOG=y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed expected builtins count
svenpanne@chromium.org [Wed, 9 Jul 2014 12:11:35 +0000 (12:11 +0000)]
Fixed expected builtins count

TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake fuzz-natives test generator more robust.
machenbach@chromium.org [Wed, 9 Jul 2014 11:39:22 +0000 (11:39 +0000)]
Make fuzz-natives test generator more robust.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00