bmeurer@chromium.org
5992acc242
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
2014-08-29 10:53:08 +00:00
rodolph.perfetta@arm.com
fb7e3c8f95
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
2014-08-29 09:49:50 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
m.m.capewell@googlemail.com
31497a4542
[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
2014-08-27 09:47:16 +00:00
bmeurer@chromium.org
b8b9d10590
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
2014-08-27 08:29:22 +00:00
vogelheim@chromium.org
881b15a1ca
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
2014-08-26 18:30:01 +00:00
mstarzinger@chromium.org
b250a99031
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
2014-08-26 16:42:09 +00:00
verwaest@chromium.org
fa70f154b7
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
2014-08-26 16:32:51 +00:00
titzer@chromium.org
6bbf6c5cb0
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
2014-08-26 15:25:07 +00:00
mstarzinger@chromium.org
ecca77ce76
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
2014-08-26 15:17:57 +00:00
ulan@chromium.org
102b3bdad4
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
2014-08-26 14:35:54 +00:00
ulan@chromium.org
939f24b817
Handle empty allocation list in CodeRange properly.
...
BUG= 407566,v8:3540
LOG=Y
TEST=cctest/test-spaces/Regress3540
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/496433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:14:46 +00:00
mstarzinger@chromium.org
88a842d628
Fix and re-enable test-api/InitializeAndDispose.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose
Review URL: https://codereview.chromium.org/504093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
loislo@chromium.org
7e6f653792
HeapProfiler: remove obsolete AddImplicitReferences
...
it hasn't been used since r149579. More than one year ago.
BUG=
R=marja@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/505983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:05:54 +00:00
verwaest@chromium.org
2a37ab79ad
Fixed inlining of constant values
...
Use CopyToRepresentation to elide HForceRepresentation of HConstant
BUG=v8:3529
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/507613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:34:25 +00:00
yangguo@chromium.org
578bff3be0
Enable mjsunit/deserialize-reference for turbofan.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/503273003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:56:23 +00:00
bmeurer@chromium.org
90c8932596
Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
...
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/501323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
mstarzinger@chromium.org
0d7f69aac5
Enable test cases that no longer timeout.
...
R=bmeurer@chromium.org
BUG=v8:3522,v8:3526
LOG=N
Review URL: https://codereview.chromium.org/505113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:44:25 +00:00
bmeurer@chromium.org
3e188ace5c
[turbofan] Add backend support for load/store float32 values.
...
This is the bare minimum required to support typed arrays. Support for
working with float32 values will be added based on this.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/500343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:29:12 +00:00
machenbach@chromium.org
fa908676c7
Revert "Enable C++11 tests on windows."
...
This reverts commit 23383 because XP bots time out.
TBR=svenpanne@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/497413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:24:27 +00:00
machenbach@chromium.org
46bd2aff47
Enable C++11 tests on windows.
...
TBR=svenpanne@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/500353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:00:44 +00:00
mstarzinger@chromium.org
bf71b5ab69
Enable TurboFan deopts for test-heap/NextCodeLinkIsWeak.
...
R=jarin@chromium.org
TEST=cctest/test-heap/NextCodeLinkIsWeak
Review URL: https://codereview.chromium.org/500973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:39:25 +00:00
mstarzinger@chromium.org
0bf838456f
Fix continue statements within for-in loops.
...
R=titzer@chromium.org
TEST=cctest/test-run-jsbranches/ForInContinueStatement
BUG=v8:3522
LOG=N
Review URL: https://codereview.chromium.org/502043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:32:35 +00:00
rossberg@chromium.org
c987661e0e
Activate --harmony switch on test262-es6
...
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/474423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 14:31:24 +00:00
mstarzinger@chromium.org
4cf2cfad0a
Fix borked tests after r23354.
...
TBR=vogelheim@chromium.org
TEST=cctest/test-run-inlining
Review URL: https://codereview.chromium.org/505753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:38:10 +00:00
verwaest@chromium.org
01cfeb1205
Clean up LookupIterator::Configuration naming
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/503663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:34:43 +00:00
bmeurer@chromium.org
66dd869980
[turbofan] Add backend support for signed loads.
...
Also rename the arch opcodes to match their native counterparts.
TEST=compiler-unittests,cctest
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/505713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 10:35:38 +00:00
wingo@igalia.com
32d9aea9d8
Arguments object has @@iterator
...
R=arv@chromium.org , verwaest@chromium.org , rossberg@chromium.org
BUG=v8:3391
LOG=N
TEST=mjsunit/harmony/arguments-iterator.js
Review URL: https://codereview.chromium.org/342453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:12:22 +00:00
weiliang.lin@intel.com
d171b9d535
x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
port r23306.
original commit message:
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
BUG=
R=verwaest@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/500923002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
aandrey@chromium.org
6190ac0882
Expose Value::IsMap, IsSet, IsWeakMap, IsWeakSet in V8 API.
...
These checks will be needed for DevTools.
R=yangguo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/464413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 08:56:31 +00:00
jarin@chromium.org
d8295050d2
Fix deoptimization address patching in Turbofan to use safepoints.
...
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.
The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/504493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:02:19 +00:00
yangguo@chromium.org
3a1c55590f
Correctly forward-declare inline function headers in generic-node.h
...
R=bmeurer@chromium.org , jarin@chromium.org
Review URL: https://codereview.chromium.org/488363003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 06:57:13 +00:00
bmeurer@chromium.org
e9ac0fe7c8
Rename CountSetBits32 to CountPopulation32 for consistency.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/502803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 04:24:39 +00:00
arv@chromium.org
74a0d0f373
Fix issue with numeric property names
...
We were not correctly treating 1.0 as 1, nor 1.20 as 1.2 in accessors.
BUG=v8:3507
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/493173003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:40:38 +00:00
ulan@chromium.org
785876eed2
Fix Win64 build after r23316.
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/494393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:12:47 +00:00
ulan@chromium.org
8d1deb385f
Fix build after r23316.
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/497073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:41:29 +00:00
ulan@chromium.org
ac4c14eb73
First tests for GCIdleTimeHandler.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/496273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:26:29 +00:00
rossberg@chromium.org
cc07503bd9
test/test262: update testcfg.py for new test262
...
testcfg.py:
- update revision and MD5
- remove non-mandatory harness files
- use test parser distributed with test262
- new attribute `suite.harnesspath`
- new method GetIncludesForTest
- GetSourceForTest: cache source on testcase
- IsNegativeTest: use parseTestRecord
- use 7-char sha hash [1]
- DRY setting up paths to test262 suite, harness, etc
- clean up helper fns
harness-adapter.js:
- add $DONE function to adapter [2]
1: github tar file has 7-char sha embedded in dir name
script cannot find directory to rename if they don't match exactly
2: test262 uses a `$DONE` function for async tests with
semantics like those of mocha's `done`.
Briefly: done(arg) => if (arg) { /* failure */ }
Implemented a version of this for v8, using v8-specific
api (`print`, `quit`)
BUG=v8:3513
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/478163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:00:10 +00:00
yangguo@chromium.org
ba09fa35fd
Handle null receiver in sloppy mode in %GetFrameDetails.
...
R=jarin@chromium.org
BUG=405922
LOG=N
Review URL: https://codereview.chromium.org/492303006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:55:23 +00:00
verwaest@chromium.org
30c3981c2c
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/483683005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
marja@chromium.org
77d06401ad
Take ast node id counting away from Isolate.
...
When we're going to parse multiple scripts in parallel, we cannot have the
Isolate count the ast node ids.
Now the counter is stored in CompilationInfo instead. This is because we need to
add ast nodes after parsing too.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/490173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:12:29 +00:00
yangguo@chromium.org
2229575b26
Pacify GCmole.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/490423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:09:13 +00:00
yangguo@chromium.org
a6adfd8f82
Blacklist mjsunit/debug-break-inline from turbofan tests.
...
Due to GC stress failures.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/494093004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:54:01 +00:00
Jacob.Bramley@arm.com
2fd20234ce
[turbofan] Disable the intl/overrides/string test.
...
This test times out with Turbo Fan enabled. See issue 3526 for details.
BUG=
R=ulan@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/494173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:05:04 +00:00
bmeurer@chromium.org
1efe3de965
Migrate test-semaphore to base-unittests.
...
TEST=base-unittests
BUG=v8:3489
LOG=n
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/494343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 08:52:40 +00:00
jarin@chromium.org
4fb93f6461
Black list failing Turbofan debugger test.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/501433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 08:28:26 +00:00
bmeurer@chromium.org
3193f59a39
[turbofan] Add support for change/truncate to MachineOperatorReducer.
...
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/470633006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:54:09 +00:00
jarin@chromium.org
8da0b4eca6
Couple more debugger tests working with Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/498493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:44:18 +00:00
yangguo@chromium.org
1fcfacbcd3
Do not run Turbofan tests on mjsunit/deserialize-reference.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/490413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:25:12 +00:00
yangguo@chromium.org
a5ea23375e
Mark test-debug/RecursiveBreakpointsGlobal as flaky.
...
TBR=machenbach@chromium.org
BUG=v8:3525
LOG=N
Review URL: https://codereview.chromium.org/494303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 06:45:15 +00:00
bmeurer@chromium.org
7cb564b580
[turbofan] Initial import of SimplifiedOperatorReducer.
...
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/479793004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 04:47:55 +00:00
arv@chromium.org
98f7b7e14a
Add back the duplicate property checker
...
We're not quite ready to make this change.
BUG=v8:3498
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/491053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 15:32:22 +00:00
ulan@chromium.org
53fdf75be1
Move idle notification handling to GCIdleTimeHandler.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/492763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:42:22 +00:00
sigurds@chromium.org
dd3c097123
Reland "Load global object and builtins from activation."
...
Reland fixes:
Don't set string flags (doing so leaks memory).
Load closure from activation for building literals.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/484273003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:40:10 +00:00
dslomov@chromium.org
22d5ceb1f2
Implement Function.prototype.toMethod.
...
R=arv@chromium.org , verwaest@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/475423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:39:33 +00:00
bmeurer@chromium.org
e6d32405be
Fix parsing of --gtest_list_tests output.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/485273004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:36:00 +00:00
wingo@igalia.com
edfd4cdd33
Stage ES6 generators
...
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/479543003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:06:25 +00:00
jarin@chromium.org
e5081792f9
Initial support for debugger frame state in Turbofan.
...
Bunch of changes were necessary:
- refactor attaching the frame states/lazy bailouts in AstGraphBuilder
(essentialy reland of r23096),
- attaching frame state to some JS nodes in a similar way to attaching
context (this is quite ugly and we should take another look at this),
- new bailout point for the debugger statement,
- register allocation constraints for the frame states,
- generating translations and deopt entries, attaching them to
safepoints,
- enabled one mjsunit test for debugger state that uses the generated
frame state.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/492203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:56:46 +00:00
wingo@igalia.com
558a05bfcf
Fix symbol-named function template properties in the API
...
Thanks to Yutaka Hirano <yhirano@chromium.org> for finding the bug and
providing the test case.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/496663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:55:46 +00:00
wingo@igalia.com
8239897e5d
Simplify array iterator tests
...
R=arv@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/344223006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:04:24 +00:00
verwaest@chromium.org
2d2396a8a8
Get rid of all non-IC uses of LookupOwnRealNamedProperty
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/491023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:26:42 +00:00
yangguo@chromium.org
4f8e5f0719
Mark test-debug/RecursiveBreakpoints as flaky.
...
R=machenbach@chromium.org
BUG=v8:3525
LOG=N
Review URL: https://codereview.chromium.org/479793005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:15:49 +00:00
bmeurer@chromium.org
0142786cea
Don't inline Array.shift() if receiver map is not extensible.
...
TEST=mjsunit/regress/regress-crbug-405517
BUG=405517
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/491863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 06:23:44 +00:00
dslomov@chromium.org
93489e7695
Make all global private symbols own symbols.
...
R=arv@chromium.org , rossberg@chromium.org , wingo@igalia.com , yangguo@chromium.org
Review URL: https://codereview.chromium.org/486763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 19:21:56 +00:00
hpayer@chromium.org
72ffc42d04
Use size_t in GCIdleTimeHandler to fix undefined behaviour.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/490943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:37:43 +00:00
wingo@igalia.com
e929f5fe43
Support symbol-named properties in API
...
Add new "Name" type to API that is a supertype of Symbol and String.
Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
take a Name as the property name instead of a String.
Add Object::SetAccessor, Template::SetNativeDataProperty, and
ObjectTemplate::SetAccessor overloads that can define accessors for
symbol-named properties.
R=dcarney@chromium.org , rossberg@chromium.org
BUG=v8:3394
TEST=cctest/test-api/TestSymbolProperties
LOG=Y
Review URL: https://codereview.chromium.org/459413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:25:13 +00:00
arv@chromium.org
3ac7c2025f
Suppress test262 test that tests duplicate properties
...
In ES6 duplicate properties are allowed
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/492793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:24:53 +00:00
Jacob.Bramley@arm.com
da48f1246c
ARM64: Fix SHR logic error.
...
The `right == 0` checks only worked for `0 <= right < 32`. This patch
replaces the checks with simple tests for negative results.
The attached test can detect this error, but the test relies on a broken
flag (--noopt-safe-uint32-operations), so it is skipped for now. See
issue 3487 for details.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/487913005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:58:18 +00:00
arv@chromium.org
cfdfbb885e
ES6: Duplicate properties are no longer an error
...
This removes the duplicate property checker and updates the tests.
BUG=v8:3498
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/459463002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:25:48 +00:00
yangguo@chromium.org
930e5ccc3e
Implement Math.expm1 using port from fdlibm.
...
R=rtoy@chromium.org
BUG=v8:3479
LOG=N
Review URL: https://codereview.chromium.org/465353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:24:07 +00:00
sigurds@chromium.org
566cdc3bcd
Reland "Add initial support for inlining."
...
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.
Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=titzer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/484083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
yangguo@chromium.org
8cb41618ce
Blacklist %InternalSetProperty from runtime test fuzzing.
...
R=verwaest@chromium.org
BUG=405499
LOG=N
Review URL: https://codereview.chromium.org/491843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:51:48 +00:00
bmeurer@chromium.org
b15a082d56
Fix implementation of bit count functions.
...
The bit counting functions provided by CompilerIntrinsics were undefined
for zero, which was easily overlooked and unsafe in general. Also their
implementation was kinda hacky and mostly untested. Fixed the
implementation and moved the functions to base/bits.h.
TEST=base-unittests,cctest,compiler-unittests,mjsunit
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/494633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:10:41 +00:00
yangguo@chromium.org
f7947b8ec4
Fix --expose-debug-as with number as argument.
...
R=jkummerow@chromium.org
BUG=405491
LOG=N
Review URL: https://codereview.chromium.org/468803004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:52:22 +00:00
yangguo@chromium.org
5832ab8501
Expose function CheckDebugBreak in the debugger api
...
API=v8::Debug::CheckDebugBreak
LOG=Y
R=aandrey@chromium.org , vsevik@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/473913002
Patch from Sergei Vasilinetc <sergeyv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:04:05 +00:00