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
dcarney@chromium.org [Wed, 1 Oct 2014 10:47:14 +0000 (10:47 +0000)]
[turbofan] intel lea add multiply matchers
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
614013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 1 Oct 2014 10:39:11 +0000 (10:39 +0000)]
Rename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.
R=bmeurer@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
620773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 1 Oct 2014 09:35:27 +0000 (09:35 +0000)]
Fix clang compilation
BUG=none
TBR=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
621673003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 1 Oct 2014 09:17:19 +0000 (09:17 +0000)]
Don't filter out -O0 for debug configurations
BUG=none
R=svenpanne@chromium.org
LOG=n
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24354
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 1 Oct 2014 09:16:57 +0000 (09:16 +0000)]
Reserve a page at the beginning of the code range on Win64 for SEH
BUG=v8:3597
R=svenpanne@chromium.org
LOG=n
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24353
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 1 Oct 2014 09:16:28 +0000 (09:16 +0000)]
Remove sweeper threads
Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
615933003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 1 Oct 2014 08:54:21 +0000 (08:54 +0000)]
Fix unittests.gyp for cross compiling.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
615243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 1 Oct 2014 08:34:25 +0000 (08:34 +0000)]
Move unit tests to test/unittests.
As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
615393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 1 Oct 2014 08:22:39 +0000 (08:22 +0000)]
Fix ostream flushing.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
616293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 1 Oct 2014 08:11:56 +0000 (08:11 +0000)]
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
bmeurer@chromium.org [Wed, 1 Oct 2014 07:42:54 +0000 (07:42 +0000)]
[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
yangguo@chromium.org [Wed, 1 Oct 2014 07:33:53 +0000 (07:33 +0000)]
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
yangguo@chromium.org [Wed, 1 Oct 2014 07:08:39 +0000 (07:08 +0000)]
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
svenpanne@chromium.org [Wed, 1 Oct 2014 06:32:05 +0000 (06:32 +0000)]
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
paul.lind@imgtec.com [Wed, 1 Oct 2014 04:14:01 +0000 (04:14 +0000)]
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
dslomov@chromium.org [Tue, 30 Sep 2014 18:12:22 +0000 (18:12 +0000)]
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
yangguo@chromium.org [Tue, 30 Sep 2014 15:40:08 +0000 (15:40 +0000)]
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
dslomov@chromium.org [Tue, 30 Sep 2014 15:30:10 +0000 (15:30 +0000)]
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
yangguo@chromium.org [Tue, 30 Sep 2014 15:29:08 +0000 (15:29 +0000)]
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
yangguo@chromium.org [Tue, 30 Sep 2014 15:07:21 +0000 (15:07 +0000)]
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
ishell@chromium.org [Tue, 30 Sep 2014 14:54:14 +0000 (14:54 +0000)]
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
balazs.kilvady@imgtec.com [Tue, 30 Sep 2014 14:37:59 +0000 (14:37 +0000)]
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
dslomov@chromium.org [Tue, 30 Sep 2014 13:19:47 +0000 (13:19 +0000)]
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
machenbach@chromium.org [Tue, 30 Sep 2014 13:12:44 +0000 (13:12 +0000)]
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
bmeurer@chromium.org [Tue, 30 Sep 2014 12:49:25 +0000 (12:49 +0000)]
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
bmeurer@chromium.org [Tue, 30 Sep 2014 12:33:36 +0000 (12:33 +0000)]
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
dcarney@chromium.org [Tue, 30 Sep 2014 11:44:29 +0000 (11:44 +0000)]
[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
dcarney@chromium.org [Tue, 30 Sep 2014 11:22:14 +0000 (11:22 +0000)]
[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
bmeurer@chromium.org [Tue, 30 Sep 2014 10:56:25 +0000 (10:56 +0000)]
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
bmeurer@chromium.org [Tue, 30 Sep 2014 10:55:02 +0000 (10:55 +0000)]
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
yangguo@chromium.org [Tue, 30 Sep 2014 10:46:04 +0000 (10:46 +0000)]
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
bmeurer@chromium.org [Tue, 30 Sep 2014 10:42:44 +0000 (10:42 +0000)]
[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
neis@chromium.org [Tue, 30 Sep 2014 10:37:47 +0000 (10:37 +0000)]
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
neis@chromium.org [Tue, 30 Sep 2014 10:34:54 +0000 (10:34 +0000)]
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
bmeurer@chromium.org [Tue, 30 Sep 2014 10:29:32 +0000 (10:29 +0000)]
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
dcarney@chromium.org [Tue, 30 Sep 2014 10:24:11 +0000 (10:24 +0000)]
[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
dcarney@chromium.org [Tue, 30 Sep 2014 09:46:30 +0000 (09:46 +0000)]
[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
dcarney@chromium.org [Tue, 30 Sep 2014 09:34:16 +0000 (09:34 +0000)]
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
jarin@chromium.org [Tue, 30 Sep 2014 08:23:20 +0000 (08:23 +0000)]
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
yangguo@chromium.org [Tue, 30 Sep 2014 08:23:02 +0000 (08:23 +0000)]
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
jochen@chromium.org [Tue, 30 Sep 2014 08:22:16 +0000 (08:22 +0000)]
gn: Add missing source files to x86 build
R=jochen@chromium.org, jochen
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
604553004
Patch from Cem Kocagil <ckocagil@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 30 Sep 2014 07:28:58 +0000 (07:28 +0000)]
[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
weiliang.lin@intel.com [Tue, 30 Sep 2014 07:22:29 +0000 (07:22 +0000)]
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
jochen@chromium.org [Tue, 30 Sep 2014 07:13:55 +0000 (07:13 +0000)]
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
balazs.kilvady@imgtec.com [Mon, 29 Sep 2014 17:11:06 +0000 (17:11 +0000)]
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
paul.lind@imgtec.com [Mon, 29 Sep 2014 16:51:54 +0000 (16:51 +0000)]
Update AUTHORS file.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
399243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Mon, 29 Sep 2014 15:59:38 +0000 (15:59 +0000)]
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
dslomov@chromium.org [Mon, 29 Sep 2014 15:17:03 +0000 (15:17 +0000)]
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
arv@chromium.org [Mon, 29 Sep 2014 14:15:48 +0000 (14:15 +0000)]
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
dslomov@chromium.org [Mon, 29 Sep 2014 13:56:32 +0000 (13:56 +0000)]
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
jarin@chromium.org [Mon, 29 Sep 2014 13:37:58 +0000 (13:37 +0000)]
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
rmcilroy@chromium.org [Mon, 29 Sep 2014 13:23:27 +0000 (13:23 +0000)]
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
neis@chromium.org [Mon, 29 Sep 2014 13:15:41 +0000 (13:15 +0000)]
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
ishell@chromium.org [Mon, 29 Sep 2014 13:11:27 +0000 (13:11 +0000)]
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
alph@chromium.org [Mon, 29 Sep 2014 12:59:54 +0000 (12:59 +0000)]
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
balazs.kilvady@imgtec.com [Mon, 29 Sep 2014 12:45:12 +0000 (12:45 +0000)]
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
jochen@chromium.org [Mon, 29 Sep 2014 12:17:31 +0000 (12:17 +0000)]
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
mstarzinger@chromium.org [Mon, 29 Sep 2014 11:35:01 +0000 (11:35 +0000)]
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
ishell@chromium.org [Mon, 29 Sep 2014 11:29:43 +0000 (11:29 +0000)]
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
weiliang.lin@intel.com [Mon, 29 Sep 2014 11:08:06 +0000 (11:08 +0000)]
X87: Stores and compound assignments for named super properties.
port r24268.
original commit message:
Stores and compound assignments for named super properties.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
614693003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 29 Sep 2014 10:34:21 +0000 (10:34 +0000)]
add missing inl includes
TBR=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
612813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Mon, 29 Sep 2014 10:22:56 +0000 (10:22 +0000)]
Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.
R=ulan@chromium.org, yangguo@chromium.org, wingo, yangguo
Review URL: https://codereview.chromium.org/
608503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 29 Sep 2014 10:15:55 +0000 (10:15 +0000)]
[turbofan] add new ia32 addressing modes
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
613643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 29 Sep 2014 10:08:04 +0000 (10:08 +0000)]
[turbofan] ARM64 support for multiply-accumulate
Add instruction selectors for multiply-accumulate, multiply-subtract and negated
multiply operations.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
605693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 29 Sep 2014 09:39:22 +0000 (09:39 +0000)]
Fix initialization of assert scopes.
The thread local key for assert scopes can be lazily initialized and
should be independent of the Isolate initialization. Also cleanup the
assert-scope.{cc,h} implementation while I was at it.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
609253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Sep 2014 09:32:38 +0000 (09:32 +0000)]
Split more runtime functions into seperate files.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
598913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Sep 2014 08:47:04 +0000 (08:47 +0000)]
Access checks test for stores to 'super'.
R=dcarney@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
609273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 29 Sep 2014 08:45:11 +0000 (08:45 +0000)]
fix win compilation after r24267
TBR=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
610373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 29 Sep 2014 08:39:05 +0000 (08:39 +0000)]
X87: fix the Sqrt issue.
The test mjsunit/regress/regress-sqrt compares the result of Math.sqrt function
when using full-compiler and crankshaft compiler seperately. But according to
glibc bug fixing(https://sourceware.org/bugzilla/show_bug.cgi?id=14032). The
glibc implementation of std::sqrt() (It is invoked in the generated code when
full-compiler is used.) will change since glibc 2.19.
In order to keep consistence of Math.sqrt translation in crankshaft compiler
and the pass of mjsunit/regress/regress-sqrt. we translate the Math.sqrt func
by calling the runtime function.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
606403002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Mon, 29 Sep 2014 08:30:17 +0000 (08:30 +0000)]
[turbofan] add some simplifications in the machine operator reducer
Simplify the '+', '-' and '%' operators with some basic constants (0, 1 or NaN).
R=titzer@chromium.org, bmeurer@chromium.org, titzer@google.com
BUG=
Review URL: https://codereview.chromium.org/
599383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 29 Sep 2014 08:22:24 +0000 (08:22 +0000)]
ArrayConcat regression recover after r20312 (appeared on dromaeo benchmarks).
BUG=chromium:358561
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
597103003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Sep 2014 08:16:24 +0000 (08:16 +0000)]
Stores and compound assignments for named super properties.
R=ishell@chromium.org, arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
593073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 29 Sep 2014 08:11:03 +0000 (08:11 +0000)]
[turbofan] add new x64 addressing modes
R=bmeurer@chromium.org, titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
605693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Sep 2014 07:53:22 +0000 (07:53 +0000)]
Do not serialize non-lazy compiled function literals.
... and some small refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
594513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00