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
jochen@chromium.org
f143e2e024
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
2014-10-01 11:54:47 +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
524d185116
Don't filter out -O0 for debug configurations
...
BUG=none
R=svenpanne@chromium.org
LOG=n
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:17:19 +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
26b181f4d0
Fix unittests.gyp for cross compiling.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/615243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:54:21 +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
dslomov@chromium.org
1f2ff657cd
Fix style nits in test
...
R=arv@chromium.org
Review URL: https://codereview.chromium.org/613253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:30:10 +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
machenbach@chromium.org
f3a19a7e76
Fix svn tags in release scripts.
...
Rebase the local branch after committing so that git svn
tag works.
Some of these changes need to be ported to git in https://codereview.chromium.org/607893004/
BUG=chromium:410721,v8:3601
LOG=n
TEST=script_test.py
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/618703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 13:12:44 +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
bmeurer@chromium.org
900df59f41
Correct fix this time.
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/619613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:56:25 +00:00
bmeurer@chromium.org
d721ea6b9d
Fix windows build after r24322.
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/617803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:55:02 +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