Commit Graph

18248 Commits

Author SHA1 Message Date
svenpanne@chromium.org
dfda8950de 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
2014-08-29 09:39:28 +00:00
yangguo@chromium.org
8938126d1b 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
2014-08-29 09:32:51 +00:00
sigurds@chromium.org
9091e87d8f 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
2014-08-29 08:58:51 +00:00
machenbach@chromium.org
e97bf94175 [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
2014-08-29 08:04:16 +00:00
bmeurer@chromium.org
8c26a93fb2 [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
2014-08-29 06:42:41 +00:00
bmeurer@chromium.org
804ef93d99 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
2014-08-29 05:45:16 +00:00
bmeurer@chromium.org
ffbe019e22 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
2014-08-29 05:37:55 +00:00
bmeurer@chromium.org
b23abba7e5 [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
2014-08-29 05:00:55 +00:00
machenbach@chromium.org
19197378a8 [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
2014-08-28 21:34:14 +00:00
mstarzinger@chromium.org
d0ea36cb5b 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
2014-08-28 17:53:24 +00:00
mstarzinger@chromium.org
9faf9200ab 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
2014-08-28 17:46:33 +00:00
mstarzinger@chromium.org
7c6759e982 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
2014-08-28 17:28:57 +00:00
machenbach@chromium.org
daf64af43c [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
2014-08-28 15:34:15 +00:00
mstarzinger@chromium.org
b2548ebddf 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
2014-08-28 15:19:05 +00:00
machenbach@chromium.org
8aa7bb8a10 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
2014-08-28 14:42:24 +00:00
mstarzinger@chromium.org
cc8cec354c 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
2014-08-28 14:35:11 +00:00
titzer@chromium.org
d6831dbd4b 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
2014-08-28 13:31:55 +00:00
titzer@chromium.org
496697df4e 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
2014-08-28 13:17:38 +00:00
sigurds@chromium.org
7bdba61b02 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
2014-08-28 12:18:25 +00:00
yangguo@chromium.org
6b1dd6b268 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
2014-08-28 11:45:20 +00:00
balazs.kilvady@imgtec.com
0b1e18c231 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
2014-08-28 11:27:21 +00:00
machenbach@chromium.org
d124493d6d 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
2014-08-28 11:09:46 +00:00
jarin@chromium.org
2e1295d4dc 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
2014-08-28 11:06:26 +00:00
yangguo@chromium.org
0c38c7df64 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
2014-08-28 10:51:43 +00:00
machenbach@chromium.org
514fcde2a3 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
2014-08-28 09:20:49 +00:00
sigurds@chromium.org
6afb739efe 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
2014-08-28 08:47:11 +00:00
sigurds@chromium.org
e7817a9e54 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
2014-08-28 08:39:24 +00:00
svenpanne@chromium.org
a0d5fa72c5 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
2014-08-28 07:30:58 +00:00
yangguo@chromium.org
0748ee42db 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
2014-08-28 07:12:16 +00:00
yangguo@chromium.org
3cfef1e09e 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
2014-08-28 07:02:53 +00:00
machenbach@chromium.org
33c28c7152 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
2014-08-28 07:01:56 +00:00
machenbach@chromium.org
28e95981ba 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
2014-08-28 06:56:00 +00:00
weiliang.lin@intel.com
425568d616 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
2014-08-28 03:24:49 +00:00
titzer@chromium.org
f875dd66c6 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
2014-08-27 16:17:16 +00:00
jarin@chromium.org
8eb5c1524d 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
2014-08-27 15:56:11 +00:00
adamk@chromium.org
71fbe7d4ec 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
2014-08-27 15:54:23 +00:00
vogelheim@chromium.org
887ba6c133 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
2014-08-27 14:51:28 +00:00
titzer@chromium.org
79c8cfe2a8 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
2014-08-27 14:47:50 +00:00
balazs.kilvady@imgtec.com
14e190bb48 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
2014-08-27 14:22:48 +00:00
titzer@chromium.org
fa34ea60c4 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
2014-08-27 13:49:30 +00:00
svenpanne@chromium.org
ac8eb91185 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
2014-08-27 13:47:19 +00:00
machenbach@chromium.org
c21026c816 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
2014-08-27 13:13:40 +00:00
titzer@chromium.org
d806fef193 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
2014-08-27 13:12:56 +00:00
bmeurer@chromium.org
7fb56e2e71 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
2014-08-27 12:16:36 +00:00
verwaest@chromium.org
7f64aa017f 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
2014-08-27 11:42:17 +00:00
machenbach@chromium.org
2dbdd41388 [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
2014-08-27 11:34:31 +00:00
titzer@chromium.org
5bf4c830dd 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
2014-08-27 11:14:10 +00:00
mstarzinger@chromium.org
ef565ef98f 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
2014-08-27 10:55:44 +00:00
bmeurer@chromium.org
8968087b87 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
2014-08-27 10:37:54 +00:00
yangguo@chromium.org
a81ab7af48 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
2014-08-27 10:27:52 +00:00