Commit Graph

17104 Commits

Author SHA1 Message Date
m.m.capewell@googlemail.com
91ba01532f ARM64: Reland faster immediate check
Improve the code used to check for encodable logical immediates, fix some corner
cases associated with moving kWMinInt into W registers, and add tests.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/364653003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:52:23 +00:00
machenbach@chromium.org
4d55c22827 Add information about rerun tests to json output.
BUG=374134
LOG=n
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/364793004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:12:07 +00:00
jarin@chromium.org
1dbeb822bd Reland "Linux perf tool support update + refactoring." (r22118)
This disables the perf support in Android because of build problems with librt (should be fixable with a bit of effort, but priority is low).

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/360783006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:38:52 +00:00
yangguo@chromium.org
20b9b454b1 Revert "Postpone termination exceptions in debug scope."
This reverts r22144.

TBR=yurys@chromium.org

Review URL: https://codereview.chromium.org/369523002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:27:31 +00:00
yangguo@chromium.org
ed693ecae3 Postpone termination exceptions in debug scope.
R=yurys@chromium.org
BUG=v8:3408
LOG=Y

Review URL: https://codereview.chromium.org/353393002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:15:52 +00:00
machenbach@chromium.org
ae017be69c Let test runner rerun failures to test for flakes.
When enabled, this dynamically adds jobs that had failures back to the pool. Special json output for flakes will be handled in a separate CL.

BUG=374134
LOG=n
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/360113003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:15:44 +00:00
yangguo@chromium.org
2adbfced35 Reland "Add mechanism to postpone interrupts selectively."
BUG=v8:3408
LOG=N
R=yurys@chromium.org

Review URL: https://codereview.chromium.org/359963004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:05:40 +00:00
jochen@chromium.org
539c6183e3 Revert "Reland 22105 "Remove static initializer from isolate""
BUG=none
TBR=yangguo@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/362893006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
weiliang.lin@intel.com
537b7fa325 X87: Clean up the global object naming madness.
port r22117

original message:

  Clean up the global object naming madness.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/362943002

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:07:22 +00:00
jochen@chromium.org
8fc4a8e1b3 Reland 22105 "Remove static initializer from isolate"
R=dcarney@chromium.org
LOG=n
BUG=none

Review URL: https://codereview.chromium.org/367583003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:04:44 +00:00
jochen@chromium.org
9bbc7f038e Re-enable the check in GetRangeConstraint() function.
Now that we have ASSERT() macro in src/base/logging.h we can use it in
safe_conversions_impl.h, re-enable this assertion and fix the TODO
there.

BUG=None
TEST=None
R=jochen@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/369483003

Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:02:39 +00:00
marja@chromium.org
7717f2366f Handle "//# sourceURL" comments in the Parser instead of the JS.
BUG=v8:2948
LOG=N
R=svenpanne@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/316173002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:01:31 +00:00
hpayer@chromium.org
9bc3d1a8fe Added a promotion queue unit test that test promotion queue memory corruption
by semi-space evacuation.

BUG=
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/362723003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 18:48:02 +00:00
ishell@chromium.org
e65cc42189 Skip mjsunit/migrations test in debug mode to avoid timeout failures.
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/364663002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 17:39:16 +00:00
rossberg@chromium.org
8a25b88722 Make freeze & friends ignore private properties
R=verwaest@chromium.org
BUG=v8:3419
LOG=Y

Review URL: https://codereview.chromium.org/355123006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:47:41 +00:00
jochen@chromium.org
0941f24566 Introduce a builddeps make target
In contrast to "dependencies", this only pulls in dependencies required
for building. The dependencies make target will also pull in development
tools and requires depot_tools to be installed and in the path.

BUG=v8:3418
LOG=y
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/363703002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:03:30 +00:00
ishell@chromium.org
2c94151e6e Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/334323003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:02:31 +00:00
mvstanton@chromium.org
dd676cb628 BuildGrowElementsCapacity bounds check used wrong elements kind.
In a refactoring, HGraphBuilder::BuildGrowElementsCapacity() ended up
using the old_elements_kind instead of new_kind when calculating if a
new capacity for an array exceeds Page::kMaxRegularHeapObjectSize.

Repair, such that the check is correct.

R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/366583006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 14:52:14 +00:00
mvstanton@chromium.org
e3af6b1821 Test mjsunit/allocation-site-info is flaky without explicit gc()
It started failing on arm64 nosnap during a test case where complex nested
literal arrays are created.

R=machenbach@chromium.org
BUG=

Review URL: https://codereview.chromium.org/367703002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 14:51:11 +00:00
yangguo@chromium.org
12d0d1b74f Revert "Add msan build option." (r22109)
Building d8 with msan requires instrumented libc++. Currently the
advised way to do this is from a chromium checkout with d8 as target.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/361963003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:51:27 +00:00
yangguo@chromium.org
be35a9e768 Revert "ARM64: Faster immediate check and fix corner cases"
This reverts r22120 due to build breakage of arm64.debug target.

TBR=m.m.capewell@googlemail.com

Review URL: https://codereview.chromium.org/361973002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:50:46 +00:00
weiliang.lin@intel.com
d8fb9b9f12 X87: KeyedLoadIC should have same register spec as LoadIC.
port r22103.

original commit message:
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.

It would be nicer if these are the same, allowing some key optimizations.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/366583002

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:34:18 +00:00
Jacob.Bramley@arm.com
f44a6698c6 ARM64: optimize TruncateDoubleToI
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

Review URL: https://codereview.chromium.org/355853003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:33:22 +00:00
m.m.capewell@googlemail.com
95a3627609 ARM64: Faster immediate check and fix corner cases
Improve the code used to check for encodable logical immediates, fix some corner
cases associated with moving kWMinInt into W registers, and add tests.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/341123003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:25:33 +00:00
jarin@chromium.org
06e082c815 Revert "Linux perf tool support update + refactoring." (r22118).
Android ninja build still failing.

TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/367633003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:12:08 +00:00
jarin@chromium.org
2b7580c2d4 Reland "Linux perf tool support update + refactoring."
This relands r22098.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/368433006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:20:21 +00:00
verwaest@chromium.org
26eae0c429 Clean up the global object naming madness.
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/352173006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:12:34 +00:00
yangguo@chromium.org
4e4fb07c24 Disable test-spaces/SizeOfFirstPageIsLargeEnough for snapshot=off build.
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/368583002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 11:54:57 +00:00
alph@chromium.org
6b1c019776 Make JsNative1JsNative2JsSample cctest work on Win Release
MSVC optimization realizes that CallJsFunction2 is just the same as CallJsFunction, so it eliminates the former making the call stack contain two instances of the same function.

The patch makes two functions distinct.

LOG=N
BUG=v8:3055
R=aandrey@chromium.org, jkummerow@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/357383003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:10:12 +00:00
verwaest@chromium.org
cf094f48e9 Improve error reporting for duplicate object template properties.
BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/359413007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:00:19 +00:00
rossberg@chromium.org
28eda86ae7 Make Map.set() and Set.add() chainable
From the Harmony draft:

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.set
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakmap.prototype.set
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.add
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakset.prototype.add

BUG=v8:3410
R=arv@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/359173002

Patch from caitp <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 09:49:25 +00:00
ulan@chromium.org
ca15feec2d Android ARM64: update Makefile for new NDK.
BUG=
R=rmcilroy@chromium.org

Review URL: https://codereview.chromium.org/365593002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 09:40:14 +00:00
yangguo@chromium.org
e711d193c3 Add msan build option.
Currently works only in combination with i18nsupport=off.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/367623002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 09:04:48 +00:00
yangguo@chromium.org
f2cc802d7e Mark long-running tests as TIMEOUT for gc stress.
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/360233003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 08:32:47 +00:00
jochen@chromium.org
3c62545377 Move libplatform files into v8::platform namespace
BUG=none
R=jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/336313017

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 08:15:09 +00:00
jochen@chromium.org
9acb3bcbb2 Revert 22105 "Remove static initializer from isolate"
Fails to run on mac

BUG=none
LOG=n
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/368503003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 07:07:50 +00:00
jochen@chromium.org
bb169b93ae Remove static initializer from isolate
We don't have a default isolate anymore, so we can just create the
thread data and keys on demand

BUG=none
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/337603010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 06:43:14 +00:00
jochen@chromium.org
2e1a6ba72a Revert 22098 "Linux perf tool support update + refactoring."
GetCurrentThreadId doesn't compile on android

Also reverts follow up build fix attempts

BUG=none
LOG=n
TBR=jarin@chromium.org

Review URL: https://codereview.chromium.org/337093005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 17:21:35 +00:00
mvstanton@chromium.org
351ed4c8a1 KeyedLoadIC should have same register spec as LoadIC.
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.

It would be nicer if these are the same, allowing some key optimizations.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/338963003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:56:50 +00:00
jochen@chromium.org
846dc0f46f Fix perfjit printf format for filename
TBR=jarin@chromium.org
LOG=n
BUG=none

Review URL: https://codereview.chromium.org/357333002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:39:19 +00:00
jochen@chromium.org
584f13ab03 Add missing cpu.h includes to mips/x87
BUG=none
TBR=yangguo@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/358073005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:37:07 +00:00
jarin@chromium.org
398a59e791 Fix build (forgot to update BUILD.gn)
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/341063008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:06:04 +00:00
rossberg@chromium.org
7b04a68d23 ES6: Add missing Set.prototype.keys function
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.keys

The value of the keys property is just the initial value of the values
function.

BUG=v8:3411
LOG=Y
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/353293003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:37:07 +00:00
jarin@chromium.org
1f338fa2e8 Linux perf tool support update + refactoring.
This adds timestamps to allow profiling with code space reuse. Also a couple of updates to reflect the changes in the JIT perf interface + a move of the perf-related stuff into separate files.

Unfortunately, the change only works with the latest patch  to the perf tool from a Linux perf tool contributor (Stephane Eranian).

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/255803003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:35:58 +00:00
jochen@chromium.org
4c7e259eb4 Fix external snapshot compilation
TBR=yangguo@chromium.org
LOG=n
BUG=none

Review URL: https://codereview.chromium.org/341433005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:26:40 +00:00
rossberg@chromium.org
66355db6b6 Rip out unused inner_scope_contains_with flag
R=marja@chromium.org
BUG=

Review URL: https://codereview.chromium.org/349033006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:59:00 +00:00
verwaest@chromium.org
6ff2a77364 Wrap InitializeProperty around SetOwnPropertyIgnoreAttributes and switch over uses
This is a step in the direction of disentangling all uses of SetOwnPropertyIgnoreAttributes so we can provide a more specific implementation for those usecases, and reduce the capabilities of those clients, avoiding subtle bugs.

InitializeProperty only supports adding properties to extensible objects that do not contain the property yet. JSGlobalProxies cannot have properties themselves, so are not supported either.

BUG=
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/352813002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:48:57 +00:00
jochen@chromium.org
7f6e65a283 Fix compilation on arm after r22092
TBR=yangguo@chromium.org
LOG=n
BUG=none

Review URL: https://codereview.chromium.org/360723002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:47:20 +00:00
marja@chromium.org
570a0bf8f5 Parser: add usage counters for "use asm".
R=jochen@chromium.org
BUG=

Review URL: https://codereview.chromium.org/336863007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:35:16 +00:00
jochen@chromium.org
a4506cd3f2 Move platform abstraction to base library
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.

The CPU::FlushICache method is moved to CpuFeatures::FlushICache

RoundUp and related methods are moved to base/macros.h

Remove all layering violations from src/libplatform

BUG=none
R=jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/358363002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00