platform/upstream/v8.git
9 years agoDon't enable WPO on Win64 and require Server 2003 / x64 for win64
jochen@chromium.org [Wed, 8 Oct 2014 09:09:57 +0000 (09:09 +0000)]
Don't enable WPO on Win64 and require Server 2003 / x64 for win64

WPO was only enabled to work around an issue with the Isolate's static
initializer which no longer exists.

Requiring XP on Win64 doesn't make sense.

BUG=421363
R=machenbach@chromium.org
LOG=y

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

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

9 years agoAvoid unnecessary data race on FLAG_track_double_fields
jochen@chromium.org [Wed, 8 Oct 2014 09:01:43 +0000 (09:01 +0000)]
Avoid unnecessary data race on FLAG_track_double_fields

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

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

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

9 years agoFix race in debugger threads in cctest/test-debug
jochen@chromium.org [Wed, 8 Oct 2014 08:56:57 +0000 (08:56 +0000)]
Fix race in debugger threads in cctest/test-debug

BUG=none
R=svenpanne@chromium.org, ishell@chromium.org
LOG=n

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

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

9 years agoRelax representation requirement in FrameStates.
jarin@chromium.org [Wed, 8 Oct 2014 08:47:29 +0000 (08:47 +0000)]
Relax representation requirement in FrameStates.

This change enables non-tagged representations in FrameStates.

That allows us to run zlib with deoptimization support and have almost the same performance of the generated code (as the code with no deoptimization). Unfortunately, the frame states seem to confuse typer. As a consequence, we generate more representation changes, which in turn causes the scheduler to take a lot more time and memory (>4x). The added compiler time makes zlib with deopt be about 50% slower.

BUG=
R=titzer@chromium.org

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

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

9 years agoFix data races and leaks related to v8::Lockers
jochen@chromium.org [Wed, 8 Oct 2014 08:17:04 +0000 (08:17 +0000)]
Fix data races and leaks related to v8::Lockers

BUG=v8:3618
R=ishell@chromium.org, svenpanne@chromium.org
LOG=n

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

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

9 years ago[turbofan] Reenable value numbering.
bmeurer@chromium.org [Wed, 8 Oct 2014 08:06:59 +0000 (08:06 +0000)]
[turbofan] Reenable value numbering.

Value numbering is now limited to eliminatable operators (i.e. operators
that don't throw and don't write), and uses linear probing instead of
separate chaining.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years agoFix data race in cctest/test-api/RegExpInterruption
jochen@chromium.org [Wed, 8 Oct 2014 07:41:28 +0000 (07:41 +0000)]
Fix data race in cctest/test-api/RegExpInterruption

BUG=v8:3615
R=yangguo@chromium.org
LOG=n

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

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

9 years ago[turbofan] Fix HashCode/Equals for floating point operators.
bmeurer@chromium.org [Wed, 8 Oct 2014 07:32:07 +0000 (07:32 +0000)]
[turbofan] Fix HashCode/Equals for floating point operators.

Those floating point constant operators require bitwise handling of
their parameters, otherwise 0.0 equals -0.0. This is solved in a
general way by adding new base::bit_equal_to and base::bit_hash
function objects.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years agoX87: Support for super keyed loads where key is a name.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:21:42 +0000 (06:21 +0000)]
X87: Support for super keyed loads where key is a name.

port r24403.

original commit message:

  Support for super keyed loads where key is a name.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: [turbofan] support all shift operands on ia32
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:13:22 +0000 (06:13 +0000)]
X87: [turbofan] support all shift operands on ia32

port r24387.

original commit message:
  [turbofan] support all shift operands on ia32

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: Replace OStream with std::ostream.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:11:22 +0000 (06:11 +0000)]
X87: Replace OStream with std::ostream.

port r24319.

original commit message:

  Replace OStream with std::ostream.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: [turbofan] IA: Uint32ToFloat64 supports mem operand.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:08:25 +0000 (06:08 +0000)]
X87: [turbofan] IA: Uint32ToFloat64 supports mem operand.

port r24318.

original commit message:
  [turbofan] IA: Uint32ToFloat64 supports mem operand.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoAdd test case demonstrating bug in SparseReverse when combined with getters/setters
adamk@chromium.org [Tue, 7 Oct 2014 19:22:44 +0000 (19:22 +0000)]
Add test case demonstrating bug in SparseReverse when combined with getters/setters

BUG=v8:3612
LOG=N
R=mstarzinger@chromium.org

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

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

9 years agoThis uses a runtime function to set up the the constructor and its
arv@chromium.org [Tue, 7 Oct 2014 16:24:59 +0000 (16:24 +0000)]
This uses a runtime function to set up the the constructor and its
prototype.

This does not add the methods/accessors to the prototype or the
constructor.

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

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

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

9 years agoFix data race on Debug::thread_local_.current_debug_scope_
jochen@chromium.org [Tue, 7 Oct 2014 16:11:31 +0000 (16:11 +0000)]
Fix data race on Debug::thread_local_.current_debug_scope_

BUG=v8:3614
R=yangguo@chromium.org
LOG=n

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

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

9 years agoFix compilation on win64
jochen@chromium.org [Tue, 7 Oct 2014 16:00:44 +0000 (16:00 +0000)]
Fix compilation on win64

TBR=bmeurer@chromium.org
LOG=n
BUG=none

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

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

9 years agoFix data race on CpuProfiler::running_
jochen@chromium.org [Tue, 7 Oct 2014 14:45:17 +0000 (14:45 +0000)]
Fix data race on CpuProfiler::running_

BUG=v8:3613
R=yangguo@chromium.org
LOG=n

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

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

9 years agoFix for assertion failures appeared after StoreTransitionStub implementation.
ishell@chromium.org [Tue, 7 Oct 2014 14:32:19 +0000 (14:32 +0000)]
Fix for assertion failures appeared after StoreTransitionStub implementation.

R=yangguo@chromium.org

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

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

9 years ago[turbofan] Drop broken StaticParameterTraits.
bmeurer@chromium.org [Tue, 7 Oct 2014 13:30:28 +0000 (13:30 +0000)]
[turbofan] Drop broken StaticParameterTraits.

The StaticParameterTraits are broken by design, and cause way too much
trouble. The compilers usually pick the wrong specialization (i.e. the
default specialization is picked for Load and Phi even tho there is a
specialization for MachineType), which is not only the reason why GVN is
ineffective and slow, but can also lead to correctness issues in some
rare cases.

Also clean up some minor bugs/inconsistencies on the way.

TEST=cctest,unittests
R=svenpanne@chromium.org

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

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

9 years agoRemove PersistentBase::ClearAndLeak
jochen@chromium.org [Tue, 7 Oct 2014 12:37:27 +0000 (12:37 +0000)]
Remove PersistentBase::ClearAndLeak

Embedders that used this method to be able to store a Persistent in a
container should use one of the containers in v8-util.h instead.

Other uses are no longer supported.

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

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

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

9 years agoAdd classes-related bailout reasons to DONT_TURBOFAN_NODE
dslomov@chromium.org [Tue, 7 Oct 2014 12:35:06 +0000 (12:35 +0000)]
Add classes-related bailout reasons to DONT_TURBOFAN_NODE

R=mstarzinger@chromium.org

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

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

9 years agoFix bugs in lowering NumberToInt32.
titzer@chromium.org [Tue, 7 Oct 2014 12:18:39 +0000 (12:18 +0000)]
Fix bugs in lowering NumberToInt32.

The backward propagation was different in the lowering phase versus the propagation phase, leading to some missing truncations.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoDo not save/restore AST id generator.
svenpanne@chromium.org [Tue, 7 Oct 2014 12:16:28 +0000 (12:16 +0000)]
Do not save/restore AST id generator.

AST ids only need to be unique, so there is no need to fiddle around with them.

R=dslomov@chromium.org

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

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

9 years agoAdd stack trace to the promise reject callback.
yangguo@chromium.org [Tue, 7 Oct 2014 12:03:55 +0000 (12:03 +0000)]
Add stack trace to the promise reject callback.

R=aandrey@chromium.org
BUG=chromium:393913
LOG=N

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

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

9 years agoAdd tag write access to merge script.
machenbach@chromium.org [Tue, 7 Oct 2014 10:46:04 +0000 (10:46 +0000)]
Add tag write access to merge script.

The script will poll the remote branch until the git updater
has replicated the commit to tag. The tag will then be
directly pushed to git.

BUG=chromium:410721
LOG=n
TEST=script_test.py
R=agable@chromium.org, tandrii@chromium.org
TBR=tandrii@chromium.org

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

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

9 years agoRemove unnecessary isolate TLS from compiler jobs
jochen@chromium.org [Tue, 7 Oct 2014 09:54:18 +0000 (09:54 +0000)]
Remove unnecessary isolate TLS from compiler jobs

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

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

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

9 years agoClean up manual bit field usage in PreParserExpression
wingo@igalia.com [Tue, 7 Oct 2014 09:20:08 +0000 (09:20 +0000)]
Clean up manual bit field usage in PreParserExpression

Instead of using an integer value and manual bit-fiddling, use C++'s
support for specifying bit sizes for integral types. This way the bits
used to describe a PreParserExpression are handled by the compiler.

BUG=
LOG=
R=svenpanne@chromium.org

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

Patch from Adrian Perez <aperez@igalia.com>.

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

9 years agoFixed compilation with older clang versions.
svenpanne@chromium.org [Tue, 7 Oct 2014 09:04:39 +0000 (09:04 +0000)]
Fixed compilation with older clang versions.

TBR=bmeurer@chromium.org

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

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

9 years agoFurther improve hashing of pointers and integers.
bmeurer@chromium.org [Tue, 7 Oct 2014 07:39:19 +0000 (07:39 +0000)]
Further improve hashing of pointers and integers.

Also make sure that the appropriate functions are inlined properly
(using V8_INLINE instead of inline to enforce it even with GCC),
and improve the HashIsOkish unittest.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Fix lowering of typed loads/stores.
bmeurer@chromium.org [Tue, 7 Oct 2014 07:36:21 +0000 (07:36 +0000)]
[turbofan] Fix lowering of typed loads/stores.

Only JSLoadProperty/JSStoreProperty nodes with external typed arrays can
be lowered to LoadElement/StoreElement, because lowering of non-external
typed arrays would require a map check.

TEST=cctest,unittests,mjsunit
R=svenpanne@chromium.org

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

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

9 years agoIntroduce --job-based-recompilation flag
jochen@chromium.org [Tue, 7 Oct 2014 07:29:24 +0000 (07:29 +0000)]
Introduce --job-based-recompilation flag

The implementation is not yet complete, it doesn't support blocking yet,
and doesn't collect statistics.

This things will be fixed in follow-up CLs.

BUG=v8:3608
R=yangguo@chromium.org
LOG=n

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

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

9 years agoRemove extraneous line from CompareWrapper test
titzer@chromium.org [Mon, 6 Oct 2014 16:26:25 +0000 (16:26 +0000)]
Remove extraneous line from CompareWrapper test

On platforms without TurboFan (PowerPC) the CompareWrapper test was
failing. It appears the line

RawMachineAssemblerTester<int32_t> m;

was causing the issue, and does not appear to be required for the
test to operate correctly. Removing it resolves the crash on non
TurboFan platforms

BUG=
R=titzer@chromium.org

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

Patch from Andrew Low <andrew_low@ca.ibm.com>.

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

9 years agoReland: Add a use counter for Intl.v8BreakIterator
erikcorry@chromium.org [Mon, 6 Oct 2014 15:50:40 +0000 (15:50 +0000)]
Reland: Add a use counter for Intl.v8BreakIterator

This relands https://codereview.chromium.org/619913002/
The test has been fixed to do a GC so it does not appear to leak in
ASAN.  In addition the test has been fixed to work in the no-i18n
build, by incorporating the change from https://codereview.chromium.org/631743002/
R=ishell@chromium.org
BUG=

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

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

9 years agoMIPS: Support for super keyed loads where key is a name.
balazs.kilvady@imgtec.com [Mon, 6 Oct 2014 15:48:56 +0000 (15:48 +0000)]
MIPS: Support for super keyed loads where key is a name.

Port r24403 (891eb62)

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

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

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

9 years agoStage ES6 numeric literals
arv@chromium.org [Mon, 6 Oct 2014 15:40:55 +0000 (15:40 +0000)]
Stage ES6 numeric literals

BUG=
R=rossberg@chromium.org

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

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

9 years agoDon't use identity as hash function for integers.
bmeurer@chromium.org [Mon, 6 Oct 2014 15:23:59 +0000 (15:23 +0000)]
Don't use identity as hash function for integers.

Also slightly improve hashing of floats/doubles.

TEST=unittests
R=jarin@chromium.org

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

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

9 years agoMake asan and lsan make flags work like on the bots.
machenbach@chromium.org [Mon, 6 Oct 2014 15:21:37 +0000 (15:21 +0000)]
Make asan and lsan make flags work like on the bots.

BUG=
R=ishell@chromium.org, jkummerow@chromium.org

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

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

9 years ago[turbofan] fix vreg mapping for instruction selector tests
dcarney@chromium.org [Mon, 6 Oct 2014 14:30:55 +0000 (14:30 +0000)]
[turbofan] fix vreg mapping for instruction selector tests

BUG=
R=bmeurer@chromium.org

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

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

9 years agoRemove FLAG_opt_safe_uint32_operations.
jkummerow@chromium.org [Mon, 6 Oct 2014 13:15:23 +0000 (13:15 +0000)]
Remove FLAG_opt_safe_uint32_operations.

It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on.

BUG=v8:3487
LOG=n
R=ishell@chromium.org

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

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

9 years ago[turbofan] map vregs early
dcarney@chromium.org [Mon, 6 Oct 2014 13:03:04 +0000 (13:03 +0000)]
[turbofan] map vregs early

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

BUG=

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

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

9 years agoSqueeze the layout of variable proxy nodes.
svenpanne@chromium.org [Mon, 6 Oct 2014 12:56:11 +0000 (12:56 +0000)]
Squeeze the layout of variable proxy nodes.

Around 200MB less peak memory usage in the bug mentioned below.

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

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

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

9 years agoAdd C++11 compatible base::hash function object.
bmeurer@chromium.org [Mon, 6 Oct 2014 12:27:24 +0000 (12:27 +0000)]
Add C++11 compatible base::hash function object.

Implement NodeCache in terms of base::hash and std::equal_to in preparation
for HeapConstant caching.

TEST=cctest,unittests
R=svenpanne@chromium.org

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

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

9 years agoAdd MonotonicallyIncreasingTime to V8 Platform.
rmcilroy@chromium.org [Mon, 6 Oct 2014 12:22:25 +0000 (12:22 +0000)]
Add MonotonicallyIncreasingTime to V8 Platform.

Adds a MonotonicallyIncreasingTime() function to the Platform API to enable the
embedder to provide a time API to V8 which will be used for IdleNotification deadlines.

BUG=417668
LOG=Y
R=jochen@chromium.org

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

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

9 years agoFix representation of HLoadRoot.
ulan@chromium.org [Mon, 6 Oct 2014 11:42:13 +0000 (11:42 +0000)]
Fix representation of HLoadRoot.

HLoadRoot doesn't participate in representation inference, and its
represenation is not Tagged at code generation, which leads to incorrect
pointer map assignment and eventual stale pointer access after GC.

BUG=chromium:419036
LOG=Y
R=jkummerow@chromium.org

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

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

9 years agoRevert Add a use counter for Intl.v8BreakIterator https://codereview.chromium.org...
erikcorry@chromium.org [Mon, 6 Oct 2014 11:14:50 +0000 (11:14 +0000)]
Revert Add a use counter for Intl.v8BreakIterator https://codereview.chromium.org/619913002/
This is due to breakage on the ASAN memory leak bot, possibly due to
pre-existing leaks in v8BreakIterator().

R=ishell@chromium.org
BUG=

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

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

9 years agoMake V8 compile with Win64 dbg
jochen@chromium.org [Mon, 6 Oct 2014 10:46:15 +0000 (10:46 +0000)]
Make V8 compile with Win64 dbg

BUG=chromium:420538
R=dcarney@chromium.org
LOG=n

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

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

9 years ago[turbofan] Negated immediates for ARM64 add/sub
m.m.capewell@googlemail.com [Mon, 6 Oct 2014 10:39:23 +0000 (10:39 +0000)]
[turbofan] Negated immediates for ARM64 add/sub

Add ARM64 instruction selector support for negating the sense of an arithmetic
instruction when its immediate is negative.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoRevert "[turbofan] Fix lowering of typed loads/stores."
jarin@chromium.org [Mon, 6 Oct 2014 08:54:24 +0000 (08:54 +0000)]
Revert "[turbofan] Fix lowering of typed loads/stores."

This reverts commit r24386 for tanking asm.js benchmarks.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoTest C++11 features on *all* platforms.
svenpanne@chromium.org [Mon, 6 Oct 2014 08:53:48 +0000 (08:53 +0000)]
Test C++11 features on *all* platforms.

R=bmeurer@chromium.org

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

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

9 years agoUnbreak PNaCL build
svenpanne@chromium.org [Mon, 6 Oct 2014 08:26:29 +0000 (08:26 +0000)]
Unbreak PNaCL build

Forgot to add a file...

TBR=bmeurer@chromium.org

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

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

9 years agoSupport for super keyed loads where key is a name.
dslomov@chromium.org [Mon, 6 Oct 2014 08:25:27 +0000 (08:25 +0000)]
Support for super keyed loads where key is a name.

R=arv@chromium.org, ishell@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoUse the pnacl-clang toolchain for (P)NaCL builds
svenpanne@chromium.org [Mon, 6 Oct 2014 08:10:50 +0000 (08:10 +0000)]
Use the pnacl-clang toolchain for (P)NaCL builds

Patch from JF Bastien <jfb@google.com>.

R=bmeurer@chromium.org

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

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

9 years agoExtend snapshot creation to generate 4-byte values
yangguo@chromium.org [Sat, 4 Oct 2014 10:30:24 +0000 (10:30 +0000)]
Extend snapshot creation to generate 4-byte values

R=rmcilroy@chromium.org, yangguo@chromium.org

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

Patch from Andre Baixo <baixo@google.com>.

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

9 years agoAdd a use counter for Intl.v8BreakIterator
erikcorry@chromium.org [Fri, 3 Oct 2014 10:29:12 +0000 (10:29 +0000)]
Add a use counter for Intl.v8BreakIterator

R=marja@chromium.org
BUG=

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

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

9 years agoMIPS: Add turbofan support for mips32.
paul.lind@imgtec.com [Thu, 2 Oct 2014 15:48:48 +0000 (15:48 +0000)]
MIPS: Add turbofan support for mips32.

BUG=
R=bmeurer@chromium.org, dusan.milosavljevic@imgtec.com

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

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

9 years agoRemoved the Isolate* field from literal nodes.
svenpanne@chromium.org [Thu, 2 Oct 2014 13:05:11 +0000 (13:05 +0000)]
Removed the Isolate* field from literal nodes.

Again 50MB less peak memory usage in the bug mentioned below...

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

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

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

9 years agofix imul(reg, op, imm) emission on x64
dcarney@chromium.org [Thu, 2 Oct 2014 12:22:36 +0000 (12:22 +0000)]
fix imul(reg, op, imm) emission on x64

R=bmeurer@chromium.org

BUG=

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

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

9 years agoRevert of Extend CPU profiler with mapping ticks to source lines (patchset #3 id...
yurys@chromium.org [Thu, 2 Oct 2014 11:58:21 +0000 (11:58 +0000)]
Revert of Extend CPU profiler with mapping ticks to source lines (patchset #3 id:40001 of https://codereview.chromium.org/616963005/)

Reason for revert:
It broke layout test fast/events/window-onerror-02.html, error column reported by window.onerror is now wrong (I believe it is because of the change in full-codegen):

http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/652

Original issue's description:
> Extend CPU profiler with mapping ticks to source lines
>
> The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
> During generation code and relocation info are generated simultaneously.
> When code generation is done you each code object has associated "relocation info".
> Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
> correspondences between the machine program counter and source locations for stack walking.
>
> This patch:
> 1. Add more source positions info in reloc info to make it suitable for source level mapping.
> The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
> (2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
> I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
>
> 2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
> If a source line is found that hit counter is increased by one for this line.
>
> 3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
> Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
>
> 4.Add a test that checks how the samples are distributed through source lines.
> It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
>
> Patch from Denis Pravdin <denis.pravdin@intel.com>
> BUG=None
> LOG=Y
> R=svenpanne@chromium.org
>
> Committed: https://code.google.com/p/v8/source/detail?r=24389

TBR=svenpanne@chromium.org,danno@chromium.org,alph@chromium.org,denis.pravdin@intel.com,weiliang.lin@intel.com
BUG=None
LOG=N

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

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

9 years agoSqueeze the layout of expression nodes a bit.
svenpanne@chromium.org [Thu, 2 Oct 2014 11:52:54 +0000 (11:52 +0000)]
Squeeze the layout of expression nodes a bit.

Again 112MB less peak memory usage in the bug mentioned below. :-)
Routed all writes to to_boolean_types_ through its setter on the way.

BUG=417697
LOG=y
R=mvstanton@chromium.org

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

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

9 years agoDrop some unused code
jkummerow@chromium.org [Thu, 2 Oct 2014 10:52:12 +0000 (10:52 +0000)]
Drop some unused code

Bonus: fix bitrot in (disabled) Hydrogen-BCH

R=yangguo@chromium.org

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

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

9 years agoSerialize all external strings except for native source code strings.
yangguo@chromium.org [Thu, 2 Oct 2014 09:39:13 +0000 (09:39 +0000)]
Serialize all external strings except for native source code strings.

R=mvstanton@chromium.org

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

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

9 years agoMerged FeedbackSlotInterface into AstNode, removing the need for a 2nd vtable.
svenpanne@chromium.org [Thu, 2 Oct 2014 09:38:28 +0000 (09:38 +0000)]
Merged FeedbackSlotInterface into AstNode, removing the need for a 2nd vtable.

This tiny change shaves off 112MB from the peak memory usage in the
bug mentioned below, more to come...

BUG=417697
LOG=y
R=mvstanton@chromium.org

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

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

9 years agoExtend CPU profiler with mapping ticks to source lines
yurys@chromium.org [Thu, 2 Oct 2014 09:20:37 +0000 (09:20 +0000)]
Extend CPU profiler with mapping ticks to source lines

The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.

This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).

2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.

3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.

4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.

Patch from Denis Pravdin <denis.pravdin@intel.com>
BUG=None
LOG=Y
R=svenpanne@chromium.org

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

Patch from Denis Pravdin <denis.pravdin@intel.com>.

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

9 years ago[turbofan] support all shift operands on x64
dcarney@chromium.org [Thu, 2 Oct 2014 09:08:09 +0000 (09:08 +0000)]
[turbofan] support all shift operands on x64

R=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] support all shift operands on ia32
dcarney@chromium.org [Thu, 2 Oct 2014 09:04:04 +0000 (09:04 +0000)]
[turbofan] support all shift operands on ia32

R=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] Fix lowering of typed loads/stores.
bmeurer@chromium.org [Thu, 2 Oct 2014 08:38:37 +0000 (08:38 +0000)]
[turbofan] Fix lowering of typed loads/stores.

We can only access to external typed arrays; lowering of internal
typed arrays would require a map check plus eager deoptimization.
Also embed the array buffer reference directly instead of embedding
the typed array.

TEST=cctest,mjsunit,unittests
R=mstarzinger@chromium.org

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

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

9 years agoSkip test on all architectures but arm.
machenbach@chromium.org [Thu, 2 Oct 2014 08:37:51 +0000 (08:37 +0000)]
Skip test on all architectures but arm.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoChange minimum code range size to 3MB
jochen@chromium.org [Thu, 2 Oct 2014 08:28:29 +0000 (08:28 +0000)]
Change minimum code range size to 3MB

There will be at least 2MB of guard pages around allocatable code memory

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

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

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

9 years agoUpdate the documentation of Isolate::GetCodeRange
jochen@chromium.org [Thu, 2 Oct 2014 08:28:04 +0000 (08:28 +0000)]
Update the documentation of Isolate::GetCodeRange

On Win64, the first page is reserved for the embedder.

BUG=v8:3597
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoRemove support for parallel sweeping
jochen@chromium.org [Thu, 2 Oct 2014 08:24:48 +0000 (08:24 +0000)]
Remove support for parallel sweeping

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

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

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

9 years agoFix name clashes in cctests.
yangguo@chromium.org [Thu, 2 Oct 2014 08:18:03 +0000 (08:18 +0000)]
Fix name clashes in cctests.

R=marja@chromium.org

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

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

9 years agoFix Windows compile.
hpayer@chromium.org [Thu, 2 Oct 2014 07:42:11 +0000 (07:42 +0000)]
Fix Windows compile.

BUG=
R=yangguo@chromium.org

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

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

9 years agoForce scavenge in idle notification if we estimate that it will take long.
hpayer@chromium.org [Thu, 2 Oct 2014 07:21:53 +0000 (07:21 +0000)]
Force scavenge in idle notification if we estimate that it will take long.

BUG=
R=ulan@chromium.org

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

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

9 years agoHandle external strings in the code serializer.
yangguo@chromium.org [Thu, 2 Oct 2014 07:12:46 +0000 (07:12 +0000)]
Handle external strings in the code serializer.

R=mvstanton@chromium.org

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

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

9 years agoFulfill some code serializer related TODOs.
yangguo@chromium.org [Thu, 2 Oct 2014 07:04:28 +0000 (07:04 +0000)]
Fulfill some code serializer related TODOs.

R=mvstanton@chromium.org

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

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

9 years agoIntroduce v8::Object::GetIsolate().
yangguo@chromium.org [Thu, 2 Oct 2014 06:52:39 +0000 (06:52 +0000)]
Introduce v8::Object::GetIsolate().

API=v8::Object::GetIsolate()
LOG=Y
R=svenpanne@chromium.org

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

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

9 years agoDebug a mystery crash bug in script streaming.
marja@chromium.org [Wed, 1 Oct 2014 16:54:42 +0000 (16:54 +0000)]
Debug a mystery crash bug in script streaming.

This adds a bunch of checks so we hopefully get more detailed information about
what exactly goes wrong.

R=jochen@chromium.org
BUG=

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

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

9 years agoMIPS64: Fix ConvertDToI test.
dusan.milosavljevic@imgtec.com [Wed, 1 Oct 2014 16:25:01 +0000 (16:25 +0000)]
MIPS64: Fix ConvertDToI test.

TEST=cctest/test-code-stubs-mips64/ConvertDToI
BUG=
R=paul.lind@imgtec.com

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

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

9 years ago[turbofan] re-enable some tests for arm64.
rodolph.perfetta@arm.com [Wed, 1 Oct 2014 15:47:40 +0000 (15:47 +0000)]
[turbofan] re-enable some tests for arm64.

Those tests were disabled because of an issue in TruncateDoubleToI which has
been fixed since.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoAttempt to fix GC mole failures.
yangguo@chromium.org [Wed, 1 Oct 2014 15:39:12 +0000 (15:39 +0000)]
Attempt to fix GC mole failures.

TBR=bmeurer@chromium.org

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

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

9 years agoWhitespace change for branch testing.
machenbach@chromium.org [Wed, 1 Oct 2014 14:10:08 +0000 (14:10 +0000)]
Whitespace change for branch testing.

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

9 years agoImplement inlined stack-check guards in TurboFan.
mstarzinger@chromium.org [Wed, 1 Oct 2014 14:03:02 +0000 (14:03 +0000)]
Implement inlined stack-check guards in TurboFan.

R=bmeurer@chromium.org
TEST=cctest/test-run-stackcheck/TerminateAtMethodEntry

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

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

9 years agoFix Hydrogen's BuildStore()
jkummerow@chromium.org [Wed, 1 Oct 2014 13:17:34 +0000 (13:17 +0000)]
Fix Hydrogen's BuildStore()

BUG=chromium:417508
LOG=y
R=jarin@chromium.org

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

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

9 years agoEndian changes, support 64bit big endian
svenpanne@chromium.org [Wed, 1 Oct 2014 13:14:14 +0000 (13:14 +0000)]
Endian changes, support 64bit big endian

These are some changes split off from https://codereview.chromium.org/422063005

frames-inl.h, frames.h
based on https://github.com/andrewlow/v8ppc/commit/05db7d2d714c44bd4e0b710fdaa51d34938aaa27
On 64bit big endian systems, the integer value is in the second slot, thus we need a new offset.

objects-inl.h, objects.h
based on https://github.com/andrewlow/v8ppc/commit/09b680b2af7412fe8fa5a3a01f1b8e29698d7797
Similarly, the hash slot is an integer field and we need to do the right thing on 64bit big endian systems

objects.cc
based on: https://github.com/andrewlow/v8ppc/commit/065742b0783b0705d9f9711198248a92bac11d85
Prettier printing of constant pools

test-strings.cc
based on:  https://github.com/andrewlow/v8ppc/commit/9889d60cd6e68e0d248c4a362ffdff0755b92aec
endian fixes

BUG=
R=svenpanne@chromium.org

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

Patch from Andrew Low <andrew_low@ca.ibm.com>.

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

9 years agoExtract runtime functions for classes into a separate file.
dslomov@chromium.org [Wed, 1 Oct 2014 12:11:12 +0000 (12:11 +0000)]
Extract runtime functions for classes into a separate file.

R=yangguo@chromium.org

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

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

9 years agoFix test-spaces on win64
jochen@chromium.org [Wed, 1 Oct 2014 11:54:47 +0000 (11:54 +0000)]
Fix test-spaces on win64

TBR=bmeurer@chromium.org
LOG=n
BUG=none

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

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

9 years agoReland "Use symbols instead of hidden properties for i18n markers."
yangguo@chromium.org [Wed, 1 Oct 2014 11:53:29 +0000 (11:53 +0000)]
Reland "Use symbols instead of hidden properties for i18n markers."

R=dslomov@chromium.org

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

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

9 years agoFix data race when concurrent compilation is aborted due to dependency change.
yangguo@chromium.org [Wed, 1 Oct 2014 11:41:19 +0000 (11:41 +0000)]
Fix data race when concurrent compilation is aborted due to dependency change.

R=marja@chromium.org
BUG=chromium:419189
LOG=N

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

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

9 years agoDon't clear the string stub at gc time in KeyedLoadIC.
mvstanton@chromium.org [Wed, 1 Oct 2014 11:09:06 +0000 (11:09 +0000)]
Don't clear the string stub at gc time in KeyedLoadIC.

Clearing this stub doesn't actually make sense, as it neither leaks
memory, nor prevents finding a new optimum stable state. As
long as strings receivers are observed, this is the best stub.
The moment we see a non-string receiver we'll go polymorphic
or generic depending on the case.

R=yangguo@chromium.org

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

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

9 years ago[turbofan] Add control input to Load and LoadElements.
bmeurer@chromium.org [Wed, 1 Oct 2014 11:08:37 +0000 (11:08 +0000)]
[turbofan] Add control input to Load and LoadElements.

Also remove the now obsolete ControlEffect operator.

TEST=cctest,mjsunit,unittests
R=mstarzinger@chromium.org

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

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

9 years agoRemove deprecated CEntryStub cache in generic lowering.
mstarzinger@chromium.org [Wed, 1 Oct 2014 10:54:51 +0000 (10:54 +0000)]
Remove deprecated CEntryStub cache in generic lowering.

R=bmeurer@chromium.org

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

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

9 years ago[turbofan] intel lea add multiply matchers
dcarney@chromium.org [Wed, 1 Oct 2014 10:47:14 +0000 (10:47 +0000)]
[turbofan] intel lea add multiply matchers

R=bmeurer@chromium.org

BUG=

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

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

9 years agoRename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.
titzer@chromium.org [Wed, 1 Oct 2014 10:39:11 +0000 (10:39 +0000)]
Rename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.

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

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

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

9 years agoFix clang compilation
jochen@chromium.org [Wed, 1 Oct 2014 09:35:27 +0000 (09:35 +0000)]
Fix clang compilation

BUG=none
TBR=svenpanne@chromium.org
LOG=n

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

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

9 years agoDon't filter out -O0 for debug configurations
jochen@chromium.org [Wed, 1 Oct 2014 09:17:19 +0000 (09:17 +0000)]
Don't filter out -O0 for debug configurations

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

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

9 years agoReserve a page at the beginning of the code range on Win64 for SEH
jochen@chromium.org [Wed, 1 Oct 2014 09:16:57 +0000 (09:16 +0000)]
Reserve a page at the beginning of the code range on Win64 for SEH

BUG=v8:3597
R=svenpanne@chromium.org
LOG=n

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

9 years agoRemove sweeper threads
jochen@chromium.org [Wed, 1 Oct 2014 09:16:28 +0000 (09:16 +0000)]
Remove sweeper threads

Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation

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

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

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

9 years agoFix unittests.gyp for cross compiling.
bmeurer@chromium.org [Wed, 1 Oct 2014 08:54:21 +0000 (08:54 +0000)]
Fix unittests.gyp for cross compiling.

TBR=mstarzinger@chromium.org

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

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

9 years agoMove unit tests to test/unittests.
bmeurer@chromium.org [Wed, 1 Oct 2014 08:34:25 +0000 (08:34 +0000)]
Move unit tests to test/unittests.

As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.

BUG=v8:3489
LOG=y
R=svenpanne@chromium.org

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

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

9 years agoFix ostream flushing.
yangguo@chromium.org [Wed, 1 Oct 2014 08:22:39 +0000 (08:22 +0000)]
Fix ostream flushing.

TBR=bmeurer@chromium.org

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

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