bmeurer@chromium.org
2cdb96d7bf
[ia32] Use more efficient encoding when loading integer constants.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/642053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:50:13 +00:00
bmeurer@chromium.org
c95ba9bd04
[turbofan] Eliminate redundant masking operations for word8/word16 stores.
...
There's no need to apply 0xff when storing 8-bit values or 0xffff when
storing 16-bit values.
TEST=unittests
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/642033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:20:45 +00:00
bmeurer@chromium.org
52ec8a702f
[ia32] Fix for no SSE4.1.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/645553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:16:27 +00:00
dslomov@chromium.org
53c9f0bb3d
Keyed stores to super where key is a name.
...
R=arv@chromium.org , ishell@chromium.org
BUG=v:3330
LOG=N
Review URL: https://codereview.chromium.org/638623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 11:36:22 +00:00
dslomov@chromium.org
49e5b0d60c
Simplify Scope and ScopePtr conversions.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/643603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 10:40:18 +00:00
dusan.milosavljevic@imgtec.com
3758fceca9
MIPS: Improve runtime detection and compatibility wrt arch. revisions.
...
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/618193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:39:23 +00:00
bmeurer@chromium.org
d143beb658
[ia32] Better code generation for materialization of float/double constants.
...
TEST=cctest,mjsunit
R=mstarzinger@chromium.org , jarin@chromium.org
Review URL: https://codereview.chromium.org/645493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:32:59 +00:00
jochen@chromium.org
c5ee3ae511
Store local copies of flags needed on the background thread
...
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/639353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:21:46 +00:00
bmeurer@chromium.org
f0452e2193
[turbofan] Add support for ARM64 Ubfx
...
Support selecting Ubfx for shift-mask and mask-shift operations. Also, rename
the shifts to match the instruction names.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/633123002
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:18:31 +00:00
svenpanne@chromium.org
b09998f13c
Simplify AST ID generation.
...
Every CompilationInfo has an ID generator now, and it is never
reset/copied/assigned. Simplified FunctionState.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/633373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 08:16:13 +00:00
jochen@chromium.org
0fae280e4a
Make Profiler::running_ atomic.
...
It's used from multiple threads
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/640773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:51:35 +00:00
weiliang.lin@intel.com
c09abc87ab
X87: Updates to maintain flag --vector-ics
...
port r24548.
original commit message:
Updates to maintain flag --vector-ics
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/642603004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:05:20 +00:00
akos.palfi@imgtec.com
d39fc16a4b
MIPS64: Fix TruncatingDiv.
...
- Fix the Macroassembler::TruncatingDiv to compute
the correct result even when the magic number is negative.
- Fix the MULT instruction in the simulator.
TEST=mjsunit/compiler/division-by-constant
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/637273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 16:15:28 +00:00
titzer@chromium.org
c605a8c1da
Smarter representation selection for phis.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/641713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 16:01:18 +00:00
yangguo@chromium.org
8659e50723
Update unicode to 7.0.0.
...
And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.
BUG=v8:2892
LOG=Y
R=dpino@igalia.com , mathias@qiwi.be
Review URL: https://codereview.chromium.org/638643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:55:03 +00:00
arv@chromium.org
c8b1c3e784
Classes: Add support for toString
...
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/624013005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:48:48 +00:00
mstarzinger@chromium.org
f99fd3867b
Remove premordial math functions from native context.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/635323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:42:31 +00:00
jochen@chromium.org
f4e4091532
Resolve race between starting the profiler thread and the logging timer
...
BUG=none
TBR=ishell@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/638943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:08:12 +00:00
balazs.kilvady@imgtec.com
e86626ed40
MIPS: Updates to maintain flag --vector-ics
...
Port r24458 (18af11b)
Original commit message:
Experimental feature vector-ics needs some maintenance.
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/636163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 11:55:24 +00:00
jochen@chromium.org
9bbf788750
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
2014-10-08 11:51:57 +00:00
jochen@chromium.org
76441ed516
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
2014-10-08 11:33:31 +00:00
ulan@chromium.org
5b463207d7
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
2014-10-08 11:19:51 +00:00
bmeurer@chromium.org
9b306893a3
[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
2014-10-08 11:16:45 +00:00
titzer@chromium.org
015f963e8f
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
2014-10-08 10:53:46 +00:00
bmeurer@chromium.org
fd7fb06bf2
[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
2014-10-08 10:44:45 +00:00
mvstanton@chromium.org
8faca47ef2
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
2014-10-08 09:15:09 +00:00
jochen@chromium.org
ba9bf72a2a
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
2014-10-08 09:01:43 +00:00
jarin@chromium.org
bb5b39260b
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
2014-10-08 08:47:29 +00:00
jochen@chromium.org
73733bb3eb
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
2014-10-08 08:17:04 +00:00
bmeurer@chromium.org
db33f07f79
[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
2014-10-08 08:06:59 +00:00
bmeurer@chromium.org
8617b3acf8
[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
2014-10-08 07:32:07 +00:00
weiliang.lin@intel.com
956591293c
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
2014-10-08 06:21:42 +00:00
weiliang.lin@intel.com
5c0bd0cb00
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
2014-10-08 06:13:22 +00:00
weiliang.lin@intel.com
8fdae69d9f
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
2014-10-08 06:11:22 +00:00
weiliang.lin@intel.com
84bd2a5f72
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
2014-10-08 06:08:25 +00:00
arv@chromium.org
583868288a
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
2014-10-07 16:24:59 +00:00
jochen@chromium.org
be69c78e6d
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
2014-10-07 16:11:31 +00:00
jochen@chromium.org
7f61f657ce
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
2014-10-07 14:45:17 +00:00
ishell@chromium.org
2c30ec5f65
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
2014-10-07 14:32:19 +00:00
bmeurer@chromium.org
a17289f4bc
[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
2014-10-07 13:30:28 +00:00
dslomov@chromium.org
5e21a9723b
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
2014-10-07 12:35:06 +00:00
titzer@chromium.org
fabb14e87f
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
2014-10-07 12:18:39 +00:00
svenpanne@chromium.org
f647ed7bfd
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
2014-10-07 12:16:28 +00:00
yangguo@chromium.org
ec871585fc
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
2014-10-07 12:03:55 +00:00
jochen@chromium.org
ff51fa0691
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
2014-10-07 09:54:18 +00:00
wingo@igalia.com
1888b8f10d
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
2014-10-07 09:20:08 +00:00
svenpanne@chromium.org
ac1224eafd
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
2014-10-07 09:04:39 +00:00
bmeurer@chromium.org
0a6e406927
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
2014-10-07 07:39:19 +00:00
bmeurer@chromium.org
e3294b1f09
[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
2014-10-07 07:36:21 +00:00
jochen@chromium.org
40a1f82238
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
2014-10-07 07:29:24 +00:00
erikcorry@chromium.org
d0dc7fc4da
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
2014-10-06 15:50:40 +00:00
balazs.kilvady@imgtec.com
041c80e774
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
2014-10-06 15:48:56 +00:00
arv@chromium.org
6708f664a9
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
2014-10-06 15:40:55 +00:00
bmeurer@chromium.org
03255440de
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
2014-10-06 15:23:59 +00:00
dcarney@chromium.org
e7a635c853
[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
2014-10-06 14:30:55 +00:00
jkummerow@chromium.org
b6f82c734c
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
2014-10-06 13:15:23 +00:00
dcarney@chromium.org
eb00c5301a
[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
2014-10-06 13:03:04 +00:00
svenpanne@chromium.org
0a95f8982c
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
2014-10-06 12:56:11 +00:00
bmeurer@chromium.org
9440b885ae
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
2014-10-06 12:27:24 +00:00
rmcilroy@chromium.org
7cbe1ef9ca
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
2014-10-06 12:22:25 +00:00
ulan@chromium.org
de51833695
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
2014-10-06 11:42:13 +00:00
erikcorry@chromium.org
33da50f2ea
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
2014-10-06 11:14:50 +00:00
jochen@chromium.org
548428d955
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
2014-10-06 10:46:15 +00:00
m.m.capewell@googlemail.com
b662e754ae
[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
2014-10-06 10:39:23 +00:00
jarin@chromium.org
f40d582cf1
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
2014-10-06 08:54:24 +00:00
svenpanne@chromium.org
f33d033725
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
2014-10-06 08:26:29 +00:00
dslomov@chromium.org
da86ab5d23
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
2014-10-06 08:25:27 +00:00
svenpanne@chromium.org
955876b5f3
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
2014-10-06 08:10:50 +00:00
erikcorry@chromium.org
43257b61ae
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
2014-10-03 10:29:12 +00:00
paul.lind@imgtec.com
f9b39f29fb
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
2014-10-02 15:48:48 +00:00
svenpanne@chromium.org
e2ed242385
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
2014-10-02 13:05:11 +00:00
dcarney@chromium.org
c9c4b931f0
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
2014-10-02 12:22:36 +00:00
yurys@chromium.org
08c40baa1f
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
2014-10-02 11:58:21 +00:00
svenpanne@chromium.org
53454d95d0
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
2014-10-02 11:52:54 +00:00
jkummerow@chromium.org
8d283eddc0
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
2014-10-02 10:52:12 +00:00
yangguo@chromium.org
a2099f5292
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
2014-10-02 09:39:13 +00:00
svenpanne@chromium.org
6e3b54ae36
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
2014-10-02 09:38:28 +00:00
yurys@chromium.org
6482fb3ee4
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
2014-10-02 09:20:37 +00:00
dcarney@chromium.org
944858e7d5
[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
2014-10-02 09:08:09 +00:00
dcarney@chromium.org
e9fcaa4be9
[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
2014-10-02 09:04:04 +00:00
bmeurer@chromium.org
5899cc8ca7
[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
2014-10-02 08:38:37 +00:00
jochen@chromium.org
d709e6aa13
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
2014-10-02 08:28:29 +00:00
jochen@chromium.org
5f47fe15e2
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
2014-10-02 08:24:48 +00:00
hpayer@chromium.org
2bfbe0d862
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
2014-10-02 07:42:11 +00:00
hpayer@chromium.org
ad6b41ffa7
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
2014-10-02 07:21:53 +00:00
yangguo@chromium.org
43ddad10b3
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
2014-10-02 07:12:46 +00:00
yangguo@chromium.org
2134c5c0ba
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
2014-10-02 07:04:28 +00:00
yangguo@chromium.org
321dad9b8e
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
2014-10-02 06:52:39 +00:00
marja@chromium.org
e1a5abb6c8
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
2014-10-01 16:54:42 +00:00
yangguo@chromium.org
b84614983f
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
2014-10-01 15:39:12 +00:00
mstarzinger@chromium.org
3bc3df9a27
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
2014-10-01 14:03:02 +00:00
jkummerow@chromium.org
1bb52d0da8
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
2014-10-01 13:17:34 +00:00
svenpanne@chromium.org
d6eea5742d
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 05db7d2d71
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 09b680b2af
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: 065742b078
Prettier printing of constant pools
test-strings.cc
based on: 9889d60cd6
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
2014-10-01 13:14:14 +00:00
dslomov@chromium.org
bedfa9e710
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
2014-10-01 12:11:12 +00:00
yangguo@chromium.org
983205d5fd
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
2014-10-01 11:53:29 +00:00
yangguo@chromium.org
67f43055d2
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
2014-10-01 11:41:19 +00:00
mvstanton@chromium.org
b8288c7535
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
2014-10-01 11:09:06 +00:00
bmeurer@chromium.org
b9afcdcefb
[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
2014-10-01 11:08:37 +00:00
mstarzinger@chromium.org
4f7eff0a21
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
2014-10-01 10:54:51 +00:00
dcarney@chromium.org
b3d426889d
[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
2014-10-01 10:47:14 +00:00
titzer@chromium.org
c1d79db81b
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
2014-10-01 10:39:11 +00:00
jochen@chromium.org
ef54daf2cc
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
2014-10-01 09:35:27 +00:00
jochen@chromium.org
5ed0f2cecc
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
2014-10-01 09:16:57 +00:00
jochen@chromium.org
259126c0d9
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
2014-10-01 09:16:28 +00:00
bmeurer@chromium.org
bfd37ab267
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
2014-10-01 08:34:25 +00:00
yangguo@chromium.org
cc6fe3a988
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
2014-10-01 08:22:39 +00:00
mstarzinger@chromium.org
c3a2c5740e
Add support for uint64 compares to TurboFan.
...
R=bmeurer@chromium.org , titzer@chromium.org
TEST=compiler-unittests/MachineOperatorTest
Review URL: https://codereview.chromium.org/615083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:11:56 +00:00
bmeurer@chromium.org
67383fe700
[turbofan] Add BoundsCheckMode to ElementAccess.
...
This is currently only used for StoreElement. LoadElement will be
updated to make use of that in a follow-up CL (depends on additional
control input for loads first).
TEST=cctest,mjsunit
R=jarin@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/617853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:42:54 +00:00
yangguo@chromium.org
63851465f2
Revert "Use symbols instead of hidden properties for i18n markers."
...
This reverts r24345.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/618123005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:33:53 +00:00
yangguo@chromium.org
153ec0329e
Use symbols instead of hidden properties for i18n markers.
...
Also refactor symbols in the root list.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/614083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:08:39 +00:00
svenpanne@chromium.org
356d668d8f
Changes to ALLOW_UNUSED to match upcoming changes to the Chromium trunk:
...
* Eliminate usage of ALLOW_UNUSED to define COMPILE_ASSERT and just use
static_assert() in all cases now that all platforms build with C++11.
* Convert remaining uses of ALLOW_UNUSED to ALLOW_UNUSED_TYPE to match how
Chromium will be splitting this functionality. (In Chromium we'll have both
ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL, which have different syntax to
enable us to use these with MSVC.)
BUG=chromium:81439
TEST=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/613143004
Patch from Peter Kasting <pkasting@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 06:32:05 +00:00
paul.lind@imgtec.com
1659197f5d
MIPS: Add cvt_d_s to disassembler.
...
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/605113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 04:14:01 +00:00
dslomov@chromium.org
953af8bd9f
Desugar 'super(..)' into 'super.constructor(...)'
...
R=arv@chromium.org , marja@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/615043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 18:12:22 +00:00
yangguo@chromium.org
21d8692c4f
Remove stray edits in r24335.
...
TBR=aandrey@chromium.org
Review URL: https://codereview.chromium.org/615053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:40:08 +00:00
yangguo@chromium.org
e68e62c891
Introduce PromiseRejectCallback.
...
R=aandrey@chromium.org , yurys@chromium.org , rossberg@chromium.org
API=v8::Isolate::SetPromiseRejectCallback, v8::Promise::HasHandler
LOG=Y
BUG=v8:3093
Review URL: https://codereview.chromium.org/600723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:29:08 +00:00
yangguo@chromium.org
552a9c2447
Add a fast case for one-element arrays in ArrayJoin
...
This case handles all one-element arrays that were not handled by _FastOneByteArrayJoin
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/607503004
Patch from Fadi Meawad <fmeawad@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:07:21 +00:00
ishell@chromium.org
85d7140de0
Hydrogenize (and share) part of StoreTransition handler as a StoreTransitionStub and StoreField handler simplification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/609463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 14:54:14 +00:00
balazs.kilvady@imgtec.com
95525a220b
MIPS: Replace OStream with std::ostream.
...
Port r24319 (b4a085f)
BUG=
R=akos.palfi@imgtec.com
Review URL: https://codereview.chromium.org/615013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 14:37:59 +00:00
dslomov@chromium.org
b43ebcd800
Implement data property creation for assignments to super.x.
...
R=rossberg@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/618643003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 13:19:47 +00:00
bmeurer@chromium.org
bdc02f8a2e
More follow-up fixes to r24322.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/616853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 12:49:25 +00:00
bmeurer@chromium.org
78e17cd6a2
Some follow-up fixes to r24322.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/616843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 12:33:36 +00:00
dcarney@chromium.org
d57e2222c3
[turbofan] instantiate and run InstructionSelectorMultTest for ia32
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/612373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 11:44:29 +00:00
dcarney@chromium.org
912cea172e
[turbofan] ia32 lea multiplication matching
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/616833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 11:22:14 +00:00
yangguo@chromium.org
af635205ed
Split yet more runtime functions into separate files.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/612383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:46:04 +00:00
bmeurer@chromium.org
c1ee6247ca
[turbofan] Some javascript operators are globally shared singletons.
...
Also cleanup the interface, and make the parameter class/accessors
explicit to work-around the type-unsafety of OpParameter<T>.
TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/613683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:42:44 +00:00
neis@chromium.org
40a968bec4
Temporarily remove unsound use of Maybe until we have a proper fix.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/609073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:37:47 +00:00
neis@chromium.org
7045592947
Get rid of code duplication by computing int Lub using range Lub.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/616563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:34:54 +00:00
bmeurer@chromium.org
3eebdc3264
Replace OStream with std::ostream.
...
Review URL: https://codereview.chromium.org/618643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:29:32 +00:00
dcarney@chromium.org
49ffb141d9
[turbofan] IA: Uint32ToFloat64 supports mem operand.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/583963002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:24:11 +00:00
dcarney@chromium.org
51a2f97d80
[turbofan] x64 lea multiplication matching
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/615483003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:46:30 +00:00
dcarney@chromium.org
574378d91b
fix nacl build after r24308
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/619613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:34:16 +00:00
jarin@chromium.org
6a07181cde
Refactor BasicBlock to not use GenericNode.
...
To manage BasicBlock's predecessors and successors we now use plain
std::vector.
The change also moves bunch of method definitions from header files
to implementation files.
In zlib, the change brings 3x improvement in the scheduler's memory
consumption. The --turbo-stats flag says we go 169MB -> 55MB in
the scheduler, 383MB -> 268MB overall.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/606403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:20 +00:00
yangguo@chromium.org
381616fb70
Split even more runtime functions into separate files.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/612023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:02 +00:00
dcarney@chromium.org
f0daf267aa
[turbofan] cleanup x64 code generator a little
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/612573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:28:58 +00:00
weiliang.lin@intel.com
7ead464238
X87: Support count operations on super named properties.
...
port r24290.
original commit message:
Support count operations on super named properties.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/612873003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:22:29 +00:00
jochen@chromium.org
8c41380688
Fast-forward version number on bleeding_edge to 3.30.0
...
BUG=none
LOG=n
R=danno@chromium.org
Review URL: https://codereview.chromium.org/612823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:13:55 +00:00
balazs.kilvady@imgtec.com
3aba080773
MIPS: Support count operations on super named properties.
...
Port r24290 (98dc7ec)
BUG=v8:3330
LOG=N
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/609403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 17:11:06 +00:00
balazs.kilvady@imgtec.com
7cdeb38e61
MIPS: Fix r24286 "ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space".
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/605873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 15:59:38 +00:00
dslomov@chromium.org
f08295753d
Clean-up tests for super getters and setters
...
R=arv@chromium.org
Review URL: https://codereview.chromium.org/617443003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 15:17:03 +00:00
arv@chromium.org
a36dee4d14
ES6: Implement object literal property shorthand
...
This allows the following:
var x = 1;
var o = {x};
This is under the --harmony-object-literals flag.
BUG=v8:3584
LOG=y
R=marja@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/584993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 14:15:48 +00:00
dslomov@chromium.org
ec209c7721
Support count operations on super named properties.
...
R=ishell@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/613673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:56:32 +00:00
jarin@chromium.org
5b742b356d
Adding more missing deoptimization points in Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/595863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:37:58 +00:00
rmcilroy@chromium.org
d5e33ac3c7
Enable out-of-line constant pool for Arm.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/610963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:23:27 +00:00
neis@chromium.org
f292c4f78e
Take output type into account in JSTypedLowering reduction.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/607033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:15:41 +00:00
ishell@chromium.org
171e62e589
ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/587203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:11:27 +00:00
alph@chromium.org
24d1ef4868
Initial implementation of GetStackSample sampling profiler API.
...
The patch is based on https://codereview.chromium.org/578163002/#ps20001
made by gholap@chromium.org
LOG=N
BUG=v8:3490
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/596533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:59:54 +00:00
balazs.kilvady@imgtec.com
38da3edf58
MIPS: Stores and compound assignments for named super properties.
...
Port r24268 (428e63d)
BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/616463002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:45:12 +00:00
jochen@chromium.org
9b32bb22c1
Add a getter for the address and size of the code range to the pulic API
...
Since the x64 backend currently doesn't emit ABI compliant code, it is
not possible to unwind the stack. During Win64 SEH this will cause the
exception handling to abort, and not even call the unhandled exception
handler. Embedders are advised to install a custom unwind callback using
RtlInstallFunctionTableCallback for the entire code range to catch
unwind attempts for exception handling.
BUG=v8:3598
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/612043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:17:31 +00:00
mstarzinger@chromium.org
b2aaac9404
Drop deprecated method for backing store from AccessBuilder.
...
R=bmeurer@chromium.org
TEST=cctest/test-simplified-lowering/RunLoadStoreArrayBuffer
Review URL: https://codereview.chromium.org/614703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:35:01 +00:00
ishell@chromium.org
df2e4f8e9b
Map::Hash() calculation made deterministic in predictable mode.
...
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/610363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:29:43 +00:00