jochen@chromium.org [Wed, 8 Oct 2014 11:51:57 +0000 (11:51 +0000)]
Get rid of isolate state.
it's not thread safe, and there are only initialized isolates now.
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
633363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 8 Oct 2014 11:33:31 +0000 (11:33 +0000)]
Make Profiler::tail_ atomic
it's used on several threads
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
639763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 8 Oct 2014 11:19:51 +0000 (11:19 +0000)]
Move fdlibm in src/third_party.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
638553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 8 Oct 2014 11:16:45 +0000 (11:16 +0000)]
[turbofan] Properly emit bounds checks for typed array element loads.
Also fix an awfull bug in simplified lowering.
TEST=cctest,mjsunit/asm
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
640603003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 8 Oct 2014 10:53:46 +0000 (10:53 +0000)]
Lower NumberMultiply, NumberDivide, and NumberModulus to Int32Mul, Int32[U]Div, and Int32[U]Mod when possible in simplified-lowering.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
620553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 8 Oct 2014 10:44:45 +0000 (10:44 +0000)]
[turbofan] Fix typo in IA-32 code generator.
TEST=benchmarks/octane/zlib
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
633373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 8 Oct 2014 09:34:40 +0000 (09:34 +0000)]
CcTest::isolate_used_ is used from multiple threads, make it atomic
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
637263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 8 Oct 2014 09:23:33 +0000 (09:23 +0000)]
The empty husk of a JSFunction is useful to us.
We hollow out the rotting core and with evil intent repurpose its dry carcass to empower ourselves; with such a shell we can test.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
637873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 8 Oct 2014 09:15:09 +0000 (09:15 +0000)]
Updates to maintain flag --vector-ics
Experimental feature vector-ics needs some maintenance.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
638523003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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