rodolph.perfetta@arm.com [Fri, 29 Aug 2014 18:46:30 +0000 (18:46 +0000)]
[turbofan] Allow unittest to call TruncateDoubleToI.
Switches stack pointer if necessary.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
519713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 29 Aug 2014 18:34:15 +0000 (18:34 +0000)]
[Auto-roll] Bump up version to 3.29.31.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
521733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Fri, 29 Aug 2014 15:42:51 +0000 (15:42 +0000)]
[arm64] Fix order of decoder visitor add functions
AppendVisitor and PrependVisitor implementations were switched.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
519723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Fri, 29 Aug 2014 15:28:26 +0000 (15:28 +0000)]
MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - external.
Port r23515 (fe0bdbf)
Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
516253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Fri, 29 Aug 2014 15:25:41 +0000 (15:25 +0000)]
MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - internal.
Port r23515 (fe0bdbf)
Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
516263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Fri, 29 Aug 2014 15:11:00 +0000 (15:11 +0000)]
Fix missing bracket in gyp file from r23522.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
521613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Fri, 29 Aug 2014 15:04:59 +0000 (15:04 +0000)]
Properly separate host and target builds when using external natives.
R=rmcilroy@chromium.org, vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
506983002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Aug 2014 15:01:50 +0000 (15:01 +0000)]
Workaround to avoid generic lowering breaking branches.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
520643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 12:30:50 +0000 (12:30 +0000)]
Revert "Move base library definitions from v8.gyp to base.gyp."
This reverts commit r23518 for breaking Blink bots.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
517303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Aug 2014 12:14:52 +0000 (12:14 +0000)]
Fix Node::ReplaceUses to handle unused nodes.
R=bmeurer@chromium.org
TEST=cctest/test-node/NodeUseIteratorReplaceNoUses
Review URL: https://codereview.chromium.org/
521643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 11:18:50 +0000 (11:18 +0000)]
Move base library definitions from v8.gyp to base.gyp.
Less confusion is best confusion.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
518023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 10:53:08 +0000 (10:53 +0000)]
Merge base unit tests into src to be in line with Chrome.
We still need the test/base-unittests folder until the test driver is
updated to handle unittests without the boilerplate.
TEST=base-unittests
R=svenpanne@chromium.org
BUG=v8:3489
LOG=n
Review URL: https://codereview.chromium.org/
520503004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 29 Aug 2014 10:40:02 +0000 (10:40 +0000)]
Refactoring InterfaceDescriptors away from code-stubs.h
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
517993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Fri, 29 Aug 2014 09:49:50 +0000 (09:49 +0000)]
ARM64: re-enable turbofan tests.
The tests were already passing.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
513253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 29 Aug 2014 09:39:28 +0000 (09:39 +0000)]
More PNaCL fixes (without GYP/Makefile tweaks)
This is basically https://codereview.chromium.org/
513923005/ with a
few changes:
* Makefile.nacl and v8.gyp are untouched.
* MAP_NORESERVE-handling is more defensive.
* Added ugly busy-wait emulation of sem_timedwait.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
521473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Aug 2014 09:32:51 +0000 (09:32 +0000)]
Port fdlibm implementation for Math.sinh.
R=rtoy@chromium.org
BUG=v8:3493
LOG=N
Review URL: https://codereview.chromium.org/
488003005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Fri, 29 Aug 2014 08:58:51 +0000 (08:58 +0000)]
Add more inlining unit tests.
- Scheduler can inline a function with a loop.
- Inlining strict into non-strict works correctly.
- Inlining non-strict into strict works correctly.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
515103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 29 Aug 2014 08:04:16 +0000 (08:04 +0000)]
[Auto-roll] Bump up version to 3.29.30.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
524563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 06:42:41 +0000 (06:42 +0000)]
[turbofan] Use enum instead of bool for parameter.
TEST=compiler-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
517123004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 05:45:16 +0000 (05:45 +0000)]
Fix windows build.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
524533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 05:37:55 +0000 (05:37 +0000)]
Fix cctest/test-run-properties/TypedArrayLoad.
Note: The test failure was unrelated to the fact that it run on actual
ARM hardware, but it was failing because the test relied on undefined
and implementation defined behaviour of the C++ compiler.
TBR=mstarzinger@chromium.org
TEST=cctest
Review URL: https://codereview.chromium.org/
517943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Aug 2014 05:00:55 +0000 (05:00 +0000)]
[turbofan] Explicitly mark call sites as patchable.
TEST=cctest,mjsunit
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
514643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 21:34:14 +0000 (21:34 +0000)]
[Auto-roll] Bump up version to 3.29.28.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
517793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Aug 2014 17:53:24 +0000 (17:53 +0000)]
Move constructors for [Element/Field]Access into AccessBuilder.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering
Review URL: https://codereview.chromium.org/
516943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Aug 2014 17:46:33 +0000 (17:46 +0000)]
Skip failing test on ARM after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad
Review URL: https://codereview.chromium.org/
515753006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Aug 2014 17:28:57 +0000 (17:28 +0000)]
Fix test failures after r23492.
R=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad
Review URL: https://codereview.chromium.org/
517673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 15:34:15 +0000 (15:34 +0000)]
[Auto-roll] Bump up version to 3.29.26.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
516973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Aug 2014 15:19:05 +0000 (15:19 +0000)]
Skip Windows failure after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad
Review URL: https://codereview.chromium.org/
513223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 14:42:24 +0000 (14:42 +0000)]
Let benchmark runner add summary traces.
BUG=374740
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
496183003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Aug 2014 14:35:11 +0000 (14:35 +0000)]
Preliminary lowering of typed array loads in TF.
R=titzer@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad
Review URL: https://codereview.chromium.org/
516853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Aug 2014 13:31:55 +0000 (13:31 +0000)]
Use TruncateFloat64ToInt32 instead of ChangeFloat64ToInt32 in lowering of simplified operators NumberToInt32/NumberToUint32.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
509653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Aug 2014 13:17:38 +0000 (13:17 +0000)]
Add MachineSignature, which is an encapsulation of the machine types for parameters and return values in a graph.
This utility will be used to simplify Linkage and fix representation inference
to work with graphs where parameters and return values are something other
than tagged. It will also make testing representation inference a lot
easier, since we can then exactly nail down the machine types of parameters
and returns.
This CL also adds c-signature.h, which demonstrates how to convert C function
signatures into MachineSignatures. The CSignatures will be used in tests to
make it easier and simpler to codegen tests.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
515173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 28 Aug 2014 12:18:25 +0000 (12:18 +0000)]
Simplify inlining now that the scheduler is smart(er).
* Only control adjustment is to move everything from the inlinee's
start block to the block the call was in.
* Add a unit test to ensure that the scheduler actually picks the
right order when placing the code.
R=mstarzinger@chromium.org, titzer@chromium.org
Review URL: https://codereview.chromium.org/
508953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Aug 2014 11:45:20 +0000 (11:45 +0000)]
Fix rare access violation during JS heap serialization.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
510013002
Patch from Slava Chigrin <vchigrin@yandex-team.ru>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Thu, 28 Aug 2014 11:27:21 +0000 (11:27 +0000)]
MIPS: Fix [de]serialize problem of root objects.
BUG
TEST=mjsunit/deserialize-reference
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
492303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 11:09:46 +0000 (11:09 +0000)]
Add android tools to v8's deps.
BUG=408510
LOG=n
R=hinoka@google.com
Review URL: https://codereview.chromium.org/
512183004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 28 Aug 2014 11:06:26 +0000 (11:06 +0000)]
Disable running some instruction selector test on unsupported backends.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
515793002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Aug 2014 10:51:43 +0000 (10:51 +0000)]
Fix serialization references to Cell objects.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
514783002
Patch from Slava Chigrin <vchigrin@yandex-team.ru>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 09:20:49 +0000 (09:20 +0000)]
Revert "Revert "Remove C++11-ism, until all bots support it.""
This reverts commit
1f07f57a4a13985f3a48b06d2848dd3bff165b4f.
AOSP bot is still not ready.
TBR=svenpanne@chromium.org,vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
513103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 28 Aug 2014 08:47:11 +0000 (08:47 +0000)]
Fix build.
GCC needs definitions for constant members (clang doesn't).
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
511133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 28 Aug 2014 08:39:24 +0000 (08:39 +0000)]
Remove dependency from generic lowering on compilation info for determining strictness and builtins.
This makes the graphs compositional for inlining (i.e. we can now inline a strict function into a non-strict function, or vice versa).
1) Store strict mode as parameter in StoreNamed/StoreProperty.
R=mstarzinger@chromium.org, titzer@chromium.org
Review URL: https://codereview.chromium.org/
473263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 28 Aug 2014 07:30:58 +0000 (07:30 +0000)]
Fix disassembly redirection from stdout into a file.
Pass \n, \r and \t through OStream without escaping.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
458533002
Patch from Vyacheslav Egorov <vegorov@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Aug 2014 07:12:16 +0000 (07:12 +0000)]
Sub-minor-key-ify seven HydrogenCodeStubs.
- FastCloneShallowObjectStub
- StringAddStub
- LoadFastElementStub
- StoreFastElementStub
- TransitionElementsKindStub
- ArrayConstructorStubBase
- InternalArrayConstructorStubBase
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
511853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Aug 2014 07:02:53 +0000 (07:02 +0000)]
Sub-minor-key-ify four HydrogenCodeStubs.
- FastNewContextStub
- FastCloneShallowArrayStub
- ToBooleanStub
- ElementsTransitionAndStoreStub.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
513653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 07:01:56 +0000 (07:01 +0000)]
Reland "Enable C++11 tests on windows."
TBR=svenpanne@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/
511113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Aug 2014 06:56:00 +0000 (06:56 +0000)]
Revert "Remove C++11-ism, until all bots support it."
This reverts commit r23463 as by now >> shouldn't be a syntax error anymore in chromium.
TBR=vogelheim@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
512123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 28 Aug 2014 03:24:49 +0000 (03:24 +0000)]
X87: Minor-key-ify BinaryOpICWithAllocationSiteStub.
port r23444.
original commit message:
Minor-key-ify BinaryOpICWithAllocationSiteStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
514073003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Aug 2014 16:17:16 +0000 (16:17 +0000)]
Disable running some change tests on unsupported backends.
TBR=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
515583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 27 Aug 2014 15:56:11 +0000 (15:56 +0000)]
Unit test of instruction selection for calls with deoptimization.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
505133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 27 Aug 2014 15:54:23 +0000 (15:54 +0000)]
Ensure that JSProxy::Fix gives the generated JSObject map a constructor
All JSObjects in V8 either have a map()->constructor() field or are
JSFunctions. JSProxy::Fix, however, was not enforcing this, and
Object.observe's use of JSObject::GetCreationContext() exposed this.
Note that this is not Object.observe-specific: the API call
v8::Object::CreationContext() also would have revealed this bug.
This patch chooses Object as a reasonable constructor to put on the
newly-fixed object's map. Note that this has no effect on the "constructor"
property in JS. In doing so, I've also tightened up the code underlying
JSProxy::Fix to only support JSObject and JSFunction as possible output
types.
BUG=405844
LOG=N
R=rossberg@chromium.org, verwaest@chromium.org
Review URL: https://codereview.chromium.org/
505303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Wed, 27 Aug 2014 14:51:28 +0000 (14:51 +0000)]
Remove C++11-ism, until all bots support it.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
509963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Aug 2014 14:47:50 +0000 (14:47 +0000)]
Fix expectations of lowering tests.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
513803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Wed, 27 Aug 2014 14:22:48 +0000 (14:22 +0000)]
MIPS: Minor-key-ify BinaryOpICWithAllocationSiteStub.
Port r23444 (0331267)
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
505933003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Aug 2014 13:49:30 +0000 (13:49 +0000)]
Disable some changes tests on ARM64. Also, fix the changes lowering to not use the more expensive TruncateFloat64ToInt32, but to use ChangeFloat64ToInt32/ChangeFloat64ToUint32, as it was before.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
512753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 27 Aug 2014 13:47:19 +0000 (13:47 +0000)]
Some PNaCL compatibility fixes.
* Removed a few useless and non-standard #includes.
* Made OS::GetCurrentProcessId compile without syscall.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
508933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 13:13:40 +0000 (13:13 +0000)]
Fix chromium update in auto-roller.
BUG=
R=hinoka@google.com
Review URL: https://codereview.chromium.org/
511803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Aug 2014 13:12:56 +0000 (13:12 +0000)]
Fix >> versus > > for stupid C++ compilers.
R=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
489733004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 27 Aug 2014 12:16:36 +0000 (12:16 +0000)]
Add Flags<T> class as a type-safe way of storing OR-combinations of enums.
TEST=base-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
510773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 27 Aug 2014 11:42:17 +0000 (11:42 +0000)]
Remove false checks since GetOwnProperty now throws an exception on access check violation.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
514613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 11:34:31 +0000 (11:34 +0000)]
[Auto-roll] Bump up version to 3.29.22.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
507353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Aug 2014 11:14:10 +0000 (11:14 +0000)]
Remove old changes lowering code and convert test to use new changes lowering code.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
515433003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 27 Aug 2014 10:55:44 +0000 (10:55 +0000)]
Fix GN build after r23442.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
514583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 27 Aug 2014 10:37:54 +0000 (10:37 +0000)]
Disable SysInfoTest.AmountOfPhysicalMemory on NaCl.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
499263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Aug 2014 10:27:52 +0000 (10:27 +0000)]
Introduce sub minor key to remove NotMissMinorKey in hydrogen stubs.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
504333005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Aug 2014 10:00:06 +0000 (10:00 +0000)]
Minor-key-ify BinaryOpICWithAllocationSiteStub.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
506003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 09:54:03 +0000 (09:54 +0000)]
Fix chromium sync command in auto-roller.
TBR=hinoka@chromium.org, jarin@chromium.org
Review URL: https://codereview.chromium.org/
506273007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 27 Aug 2014 09:52:32 +0000 (09:52 +0000)]
Wire up simplified and change lowering in pipeline.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
511713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Aug 2014 09:51:51 +0000 (09:51 +0000)]
fix and update debug-debugger.js
added `switch` statement is missing `break`s
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
494303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Aug 2014 09:49:38 +0000 (09:49 +0000)]
Slightly simplify Math.sign and Math.trunc.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
504343005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Wed, 27 Aug 2014 09:47:16 +0000 (09:47 +0000)]
[turbofan] ARM64 FP instruction selection tests
Add some tests for floating pointer instruction selection, and change conversion
tests to be parameterised.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
500503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 09:38:55 +0000 (09:38 +0000)]
Keep chromium checkout up to date in auto roller.
R=hinoka@google.com
Review URL: https://codereview.chromium.org/
504443005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 09:18:24 +0000 (09:18 +0000)]
Whitespace change to check MSVS 2013.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 27 Aug 2014 08:45:39 +0000 (08:45 +0000)]
Tweaks to generate XP-compatible .exes
BUG=407517
LOG=y
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
504793004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 27 Aug 2014 08:29:22 +0000 (08:29 +0000)]
Sync our homegrown SysInfo replacement with the one in Chrome base.
Also fix several inconsistencies/bugs on the way.
TEST=base-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
510693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 27 Aug 2014 08:15:14 +0000 (08:15 +0000)]
X87: Minor-key-ify new LoadICTrampolineStub.
port r23409.
original commit message:
Minor-key-ify new LoadICTrampolineStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
513613003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 27 Aug 2014 07:58:51 +0000 (07:58 +0000)]
X87: Added vector-based loadic hydrogen stubs. Not yet callable.
port r23405.
original commit message:
Added vector-based loadic hydrogen stubs. Not yet callable.
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail
out to the miss handler.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
507993002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Aug 2014 07:34:34 +0000 (07:34 +0000)]
[Auto-roll] Bump up version to 3.29.21.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
514523004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 27 Aug 2014 07:33:29 +0000 (07:33 +0000)]
X87: Minor-key-ify CallICStub and CallIC_ArrayStub.
port r23403.
original commit message:
Minor-key-ify CallICStub and CallIC_ArrayStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
508883002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 27 Aug 2014 06:33:40 +0000 (06:33 +0000)]
X87: Change more PlatformCodeStubs to encode properties in the minor key.
port r23394.
original commit message:
Change more PlatformCodeStubs to encode properties in the minor key.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
507973002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 27 Aug 2014 06:25:02 +0000 (06:25 +0000)]
[turbofan] Refactor code generation for calls.
R=jarin@chromium.org
TEST=cctest
Review URL: https://codereview.chromium.org/
508863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 27 Aug 2014 04:49:41 +0000 (04:49 +0000)]
X87: Move register conventions out of the IC classes.
port r23391.
original commit message:
Move register conventions out of the IC classes.
A change to a convention shouldn't require recompilation of ic.h/.cc.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
513533003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 26 Aug 2014 22:34:12 +0000 (22:34 +0000)]
[Auto-roll] Bump up version to 3.29.19.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
511633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Tue, 26 Aug 2014 19:35:48 +0000 (19:35 +0000)]
MIPS: Minor-key-ify new LoadICTrampolineStub.
Port r23409 (
31a0d5ae)
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
503393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Tue, 26 Aug 2014 19:34:15 +0000 (19:34 +0000)]
MIPS: Added vector-based loadic hydrogen stubs. Not yet callable.
Port r23405 (
12573f34)
Original commit message:
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
505303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Tue, 26 Aug 2014 18:30:01 +0000 (18:30 +0000)]
Partial revert of r23415. Original message:
> Enable more tests that no longer fail with TF.
It looks like "V8 Win32 - 1" still has issues. Try to revert only the affected test.
BUG=
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
486543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 26 Aug 2014 17:57:18 +0000 (17:57 +0000)]
MIPS: Move register conventions out of the IC classes.
Port r23391 (c3bf1dc)
Original commit message:
A change to a convention shouldn't require recompilation of ic.h/.cc.
BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
508673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 26 Aug 2014 17:43:13 +0000 (17:43 +0000)]
MIPS: Minor-key-ify CallICStub and CallIC_ArrayStub.
Port r23403 (553b376)
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
503373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 26 Aug 2014 17:38:41 +0000 (17:38 +0000)]
MIPS: Change more PlatformCodeStubs to encode properties in the minor key.
Port r23394 (6366610)
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
511463002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 26 Aug 2014 17:04:34 +0000 (17:04 +0000)]
Make filter for optimized code sharing finer.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
506793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 26 Aug 2014 16:56:49 +0000 (16:56 +0000)]
Fix external snapshot reading by removing an assumption that strings in the snapshot file are null-terminated.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
496253003
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 26 Aug 2014 16:42:09 +0000 (16:42 +0000)]
Enable more tests that no longer fail with TF.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
505203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 26 Aug 2014 16:32:51 +0000 (16:32 +0000)]
Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
504183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 26 Aug 2014 16:23:37 +0000 (16:23 +0000)]
Try again to fix Win32.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
505193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 26 Aug 2014 15:35:26 +0000 (15:35 +0000)]
Fix win32.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
508653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 26 Aug 2014 15:25:07 +0000 (15:25 +0000)]
Schedule floating control.
This CL makes several changes to the scheduling algorithm to handle control
flow that is not connected to End. Such control nodes constitute "floating
control islands" that must be linearized by the schedule. This is done
by considering such nodes to be schedulable, and then editing the control
dependencies after a first pass of scheduling. Then a subsequent pass of
scheduling will place all nodes correctly into the fully connected graph.
R=mstarzinger@chromium.org, rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
499363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 26 Aug 2014 15:17:57 +0000 (15:17 +0000)]
Move context specialization flag into CompilationInfo.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
507603003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 26 Aug 2014 14:56:35 +0000 (14:56 +0000)]
Minor-key-ify new LoadICTrampolineStub.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
500423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 26 Aug 2014 14:41:58 +0000 (14:41 +0000)]
Use an enum of Flags internally in CompilationInfo.
This is a first step in cleaning up CompilationInfo; a subsequent logical step
would be to inline most is_* and Set* and Mark* calls so that most callers
can use call info.SetFlag(CompilationInfo::kMyFlag), or at the very least,
rename them all to be consistent with their enum flag names.
R=yangguo@chromium.org, bmeuer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
504163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 26 Aug 2014 14:35:54 +0000 (14:35 +0000)]
Fix ASAN after r23404.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
501403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 26 Aug 2014 14:26:10 +0000 (14:26 +0000)]
Compilation fix.
Unnecessary assert irritated builder.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
501393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00