jochen@chromium.org [Thu, 3 Jul 2014 07:37:27 +0000 (07:37 +0000)]
Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.
Change all binaries to use the default platfrom from libplatform.
Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).
BUG=none
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
345903004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jul 2014 07:18:30 +0000 (07:18 +0000)]
Start using OStreams.
Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
334763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 2 Jul 2014 19:10:19 +0000 (19:10 +0000)]
One of the fast cases in JSObject::MigrateFastToFast() should not be taken if the number of fields did not change.
BUG=chromium:390918
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
363073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 2 Jul 2014 16:59:04 +0000 (16:59 +0000)]
Revert "Remove special ExecutableAccessorInfo handling based on flag"
Temporarily reverting until we figure out how to handle the API cases that use accessors to lazily compute values.
dataAttributeGetterCustom in V8MessageEventCustom (at least) overwrites itself with the computed value using ForceSet. We can either force such clients to first use ForceDelete before caching, use some other caching mechanism; or provide an API for lazily computed properties.
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
365903005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 2 Jul 2014 15:33:21 +0000 (15:33 +0000)]
Fix rerun barrier for flaky tests.
- The rerun flag doesn't include the first run.
- Timeout is an int. The division makes it 0 for small
numbers.
BUG=374134
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
364793007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 2 Jul 2014 15:28:29 +0000 (15:28 +0000)]
Remove special ExecutableAccessorInfo handling based on flag
This additionally removes special "prototype" handling for O.o, since it's broken; and added test.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
368853003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kilvadyb@homejinni.com [Wed, 2 Jul 2014 15:21:28 +0000 (15:21 +0000)]
MIPS: Clean up the global object naming madness.
Port r22117 (e9244d6)
BUG=
R=palfia@homejinni.com
Review URL: https://codereview.chromium.org/
364863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 15:09:44 +0000 (15:09 +0000)]
Harden Runtime_LiveEditCheckAndDropActivations against unsafe args.
R=jarin@chromium.org
BUG=390925
LOG=N
Review URL: https://codereview.chromium.org/
362983004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kilvadyb@homejinni.com [Wed, 2 Jul 2014 15:09:14 +0000 (15:09 +0000)]
MIPS: KeyedLoadIC should have same register spec as LoadIC.
Port r22103 (2c36867)
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=palfia@homejinni.com
Review URL: https://codereview.chromium.org/
367053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 2 Jul 2014 14:43:54 +0000 (14:43 +0000)]
Reland^2 r22105 "Remove static initializer from isolate"
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
365863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 14:18:10 +0000 (14:18 +0000)]
Reland "Fix stack trace accessor behavior."
BUG=v8:3404
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
349033007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 2 Jul 2014 14:11:44 +0000 (14:11 +0000)]
Add clang-format to presubmit checks
The check doesn't modify the patch, instead, you'll have to use "git cl
format" manually.
BUG=none
R=danno@google.com, danno@chromium.org, jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
362263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 2 Jul 2014 14:00:16 +0000 (14:00 +0000)]
Make flag definition macros style guide compliant and clang-format it.
coding style wants macros to be all upper case, and so clang-format only
detects those as macros.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
259573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 2 Jul 2014 13:48:28 +0000 (13:48 +0000)]
Allow yield expressions without a RHS.
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
348893007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 13:36:29 +0000 (13:36 +0000)]
Stack traces exposed to Javascript should omit extensions.
R=marja@chromium.org
BUG=v8:311
LOG=Y
Review URL: https://codereview.chromium.org/
363893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 13:00:36 +0000 (13:00 +0000)]
Revert "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them."
This reverts r22154.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
365853003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 2 Jul 2014 12:33:12 +0000 (12:33 +0000)]
Wait for sweeper threads only if we have to, i.e. if we globally have to finish sweeping or if we have to allocate from a certain space.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
361983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 2 Jul 2014 12:27:34 +0000 (12:27 +0000)]
Add more generator/yield parsing tests
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
362963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 2 Jul 2014 12:19:03 +0000 (12:19 +0000)]
Precisely sweep scan on scavenge pages and use heap iterator to iterate over them.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
362313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Wed, 2 Jul 2014 12:01:56 +0000 (12:01 +0000)]
Fix: Parser::HandleSourceURLComments was making gcmole unhappy (rightfully).
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
362243005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 2 Jul 2014 11:22:54 +0000 (11:22 +0000)]
Fix platform-cygwin.cc to really not use an Isolate
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
367953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 10:34:13 +0000 (10:34 +0000)]
Remove deprecated v8::Context::HasOutOfMemoryException.
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
369463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jul 2014 10:19:35 +0000 (10:19 +0000)]
Revert "Reland "Linux perf tool support update + refactoring." (r22118)"
This reverts r22146.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
366883004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 2 Jul 2014 09:57:27 +0000 (09:57 +0000)]
Mark mjsunit/migrations test in debug mode as TIMEOUT
Review URL: https://codereview.chromium.org/
362953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Wed, 2 Jul 2014 09:52:23 +0000 (09:52 +0000)]
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
machenbach@chromium.org [Wed, 2 Jul 2014 09:12:07 +0000 (09:12 +0000)]
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
jarin@chromium.org [Wed, 2 Jul 2014 08:38:52 +0000 (08:38 +0000)]
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
yangguo@chromium.org [Wed, 2 Jul 2014 08:27:31 +0000 (08:27 +0000)]
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
yangguo@chromium.org [Wed, 2 Jul 2014 08:15:52 +0000 (08:15 +0000)]
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
machenbach@chromium.org [Wed, 2 Jul 2014 08:15:44 +0000 (08:15 +0000)]
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
yangguo@chromium.org [Wed, 2 Jul 2014 08:05:40 +0000 (08:05 +0000)]
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
jochen@chromium.org [Wed, 2 Jul 2014 07:44:02 +0000 (07:44 +0000)]
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
weiliang.lin@intel.com [Wed, 2 Jul 2014 07:07:22 +0000 (07:07 +0000)]
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
jochen@chromium.org [Wed, 2 Jul 2014 07:04:44 +0000 (07:04 +0000)]
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
jochen@chromium.org [Wed, 2 Jul 2014 07:02:39 +0000 (07:02 +0000)]
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
marja@chromium.org [Wed, 2 Jul 2014 07:01:31 +0000 (07:01 +0000)]
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
hpayer@chromium.org [Tue, 1 Jul 2014 18:48:02 +0000 (18:48 +0000)]
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
ishell@chromium.org [Tue, 1 Jul 2014 17:39:16 +0000 (17:39 +0000)]
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
rossberg@chromium.org [Tue, 1 Jul 2014 15:47:41 +0000 (15:47 +0000)]
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
jochen@chromium.org [Tue, 1 Jul 2014 15:03:30 +0000 (15:03 +0000)]
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
ishell@chromium.org [Tue, 1 Jul 2014 15:02:31 +0000 (15:02 +0000)]
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
mvstanton@chromium.org [Tue, 1 Jul 2014 14:52:14 +0000 (14:52 +0000)]
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
mvstanton@chromium.org [Tue, 1 Jul 2014 14:51:11 +0000 (14:51 +0000)]
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
yangguo@chromium.org [Tue, 1 Jul 2014 13:51:27 +0000 (13:51 +0000)]
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
yangguo@chromium.org [Tue, 1 Jul 2014 13:50:46 +0000 (13:50 +0000)]
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
weiliang.lin@intel.com [Tue, 1 Jul 2014 13:34:18 +0000 (13:34 +0000)]
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
Jacob.Bramley@arm.com [Tue, 1 Jul 2014 13:33:22 +0000 (13:33 +0000)]
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
m.m.capewell@googlemail.com [Tue, 1 Jul 2014 13:25:33 +0000 (13:25 +0000)]
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
jarin@chromium.org [Tue, 1 Jul 2014 13:12:08 +0000 (13:12 +0000)]
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
jarin@chromium.org [Tue, 1 Jul 2014 12:20:21 +0000 (12:20 +0000)]
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
verwaest@chromium.org [Tue, 1 Jul 2014 12:12:34 +0000 (12:12 +0000)]
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
yangguo@chromium.org [Tue, 1 Jul 2014 11:54:57 +0000 (11:54 +0000)]
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
alph@chromium.org [Tue, 1 Jul 2014 10:10:12 +0000 (10:10 +0000)]
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
verwaest@chromium.org [Tue, 1 Jul 2014 10:00:19 +0000 (10:00 +0000)]
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
rossberg@chromium.org [Tue, 1 Jul 2014 09:49:25 +0000 (09:49 +0000)]
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
ulan@chromium.org [Tue, 1 Jul 2014 09:40:14 +0000 (09:40 +0000)]
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
yangguo@chromium.org [Tue, 1 Jul 2014 09:04:48 +0000 (09:04 +0000)]
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
yangguo@chromium.org [Tue, 1 Jul 2014 08:32:47 +0000 (08:32 +0000)]
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
jochen@chromium.org [Tue, 1 Jul 2014 08:15:09 +0000 (08:15 +0000)]
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
jochen@chromium.org [Tue, 1 Jul 2014 07:07:50 +0000 (07:07 +0000)]
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
jochen@chromium.org [Tue, 1 Jul 2014 06:43:14 +0000 (06:43 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 17:21:35 +0000 (17:21 +0000)]
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
mvstanton@chromium.org [Mon, 30 Jun 2014 15:56:50 +0000 (15:56 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 15:39:19 +0000 (15:39 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 15:37:07 +0000 (15:37 +0000)]
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
jarin@chromium.org [Mon, 30 Jun 2014 15:06:04 +0000 (15:06 +0000)]
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
rossberg@chromium.org [Mon, 30 Jun 2014 14:37:07 +0000 (14:37 +0000)]
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
jarin@chromium.org [Mon, 30 Jun 2014 14:35:58 +0000 (14:35 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 14:26:40 +0000 (14:26 +0000)]
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
rossberg@chromium.org [Mon, 30 Jun 2014 13:59:00 +0000 (13:59 +0000)]
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
verwaest@chromium.org [Mon, 30 Jun 2014 13:48:57 +0000 (13:48 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 13:47:20 +0000 (13:47 +0000)]
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
marja@chromium.org [Mon, 30 Jun 2014 13:35:16 +0000 (13:35 +0000)]
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
jochen@chromium.org [Mon, 30 Jun 2014 13:25:46 +0000 (13:25 +0000)]
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
yangguo@chromium.org [Mon, 30 Jun 2014 13:16:42 +0000 (13:16 +0000)]
Revert "Fix stack trace accessor behavior."
This reverts r22089.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
360033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 30 Jun 2014 12:39:06 +0000 (12:39 +0000)]
Waiting for sweeper threads is last resort in SlowAllocateRaw.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
356403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 11:48:20 +0000 (11:48 +0000)]
Fix stack trace accessor behavior.
R=verwaest@chromium.org
BUG=v8:3404
LOG=N
Review URL: https://codereview.chromium.org/
343563009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 11:12:42 +0000 (11:12 +0000)]
Introduce debug events for promises.
R=aandrey@chromium.org, rossberg@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
357603005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 30 Jun 2014 11:07:28 +0000 (11:07 +0000)]
[Arm]: Make Assembler::movw only emit a movw instruction.
Currently Assembler::movw is really the mov macro instruction, leading to raw
emit calls to generate the real movw instruction. Replace all calls of mow
with the mov macro instruction (which will emit a movw if appropriate) and
make movw always emit movw.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
329233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 30 Jun 2014 11:06:03 +0000 (11:06 +0000)]
[Arm]: Fix liveedit support if --enable_ool_constant_pool is true.
If the out of line constant pool is enabled, there is an extra value on the stack frame (the
constant pool pointer). This change fixes GenerateFrameDropperLiveEdit to pull the function
pointer and pop the stack frame correctly whether or not the constant pool pointer is on the
frame.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
338053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 30 Jun 2014 10:19:31 +0000 (10:19 +0000)]
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 30 Jun 2014 09:44:43 +0000 (09:44 +0000)]
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jun 2014 08:59:23 +0000 (08:59 +0000)]
Remove kDontInline and simplify compiler hints.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
359733004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 30 Jun 2014 08:39:04 +0000 (08:39 +0000)]
Use simple keyed store again in ArrayPush_JS_Builtin
This reverts the change of array.js in r20839 and recovers 38%
performance regression of DOM-Search case in Browsermark2.0. There is
no performance impact on JavaScript benchmarks (Octane, Kraken and
SunSpider).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
353953002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 30 Jun 2014 08:02:38 +0000 (08:02 +0000)]
Set promotion queue limit before migrating object.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
357263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 06:45:23 +0000 (06:45 +0000)]
Revert "Add mechanism to postpone interrupts selectively."
This reverts commit r22073.
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/
362493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 06:27:20 +0000 (06:27 +0000)]
Add mechanism to postpone interrupts selectively.
BUG=v8:3408
LOG=N
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
359723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Sat, 28 Jun 2014 00:33:04 +0000 (00:33 +0000)]
Support non-internalized string key lookups in Hydrogen KeyedLoadIC
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
356213003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 27 Jun 2014 18:30:14 +0000 (18:30 +0000)]
Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
354203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Fri, 27 Jun 2014 16:47:25 +0000 (16:47 +0000)]
Build "snapshot_blob.bin" only for the host when using separate toolsets.
BUG=389310
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
353143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 15:34:18 +0000 (15:34 +0000)]
Cannot check the interceptor since it may not be ready yet.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
353143003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 14:01:42 +0000 (14:01 +0000)]
Port the ic part
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
354173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 13:50:37 +0000 (13:50 +0000)]
Don't leak the global object in the Function constructor.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
359713005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 13:48:37 +0000 (13:48 +0000)]
Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
351853005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 27 Jun 2014 12:10:43 +0000 (12:10 +0000)]
Remove script collected debug event.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
358873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 27 Jun 2014 11:37:09 +0000 (11:37 +0000)]
Remove remaining dependencies on allocation.h from a few platform files
I could move parts of allocation to base/ instead, but I see little to
no value in the allocation base classes, soo..
BUG=none
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
351683009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jun 2014 11:07:44 +0000 (11:07 +0000)]
Remove the duplicated file include.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
352223007
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jun 2014 11:04:35 +0000 (11:04 +0000)]
Allow inlining of functions containing %_Arguments.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-arguments
Review URL: https://codereview.chromium.org/
356773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jun 2014 11:02:18 +0000 (11:02 +0000)]
Unbreak Mac build.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/
356153006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jun 2014 10:37:42 +0000 (10:37 +0000)]
Unbreak "os" stuff in shared d8 builds.
Note that "os" still has no properties on Windows, but at least it's there.
BUG=v8:3407
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
356843005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00