yangguo@chromium.org [Mon, 25 Aug 2014 07:32:29 +0000 (07:32 +0000)]
Add LTO support for Android Chromium.
This is to add support for a Link-Time Optimizations experiment in Android Chromium. As it is disabled by default, it won't change anything for most configurations.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
497713002
Patch from Fabrice de Gans <fdegans@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 25 Aug 2014 07:04:21 +0000 (07:04 +0000)]
Fix GC mole warning.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
506513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 25 Aug 2014 07:02:19 +0000 (07:02 +0000)]
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
yangguo@chromium.org [Mon, 25 Aug 2014 06:57:13 +0000 (06:57 +0000)]
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
bmeurer@chromium.org [Mon, 25 Aug 2014 04:24:39 +0000 (04:24 +0000)]
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
machenbach@chromium.org [Sun, 24 Aug 2014 14:32:44 +0000 (14:32 +0000)]
Teach benchmark runner to understand generic traces.
BUG=406405
LOG=n
TEST=python -m unittest run_benchmarks_test
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
502473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sun, 24 Aug 2014 08:17:27 +0000 (08:17 +0000)]
Whitespace change after chromium git transition.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sat, 23 Aug 2014 18:38:37 +0000 (18:38 +0000)]
Revert "Enable out-of-line constant pool for Arm."
This reverts commit r23323 for letting arm timeout.
Bisect build without the CL:
http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/94
Build with the CL:
http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/95
TBR=rmcilroy@chromium.org, ulan@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
502723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sat, 23 Aug 2014 06:16:27 +0000 (06:16 +0000)]
Whitespace change for chromium git migration.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Fri, 22 Aug 2014 15:18:41 +0000 (15:18 +0000)]
Enable out-of-line constant pool for Arm.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
498433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Fri, 22 Aug 2014 14:40:38 +0000 (14:40 +0000)]
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
verwaest@chromium.org [Fri, 22 Aug 2014 14:36:54 +0000 (14:36 +0000)]
Move PropertyAccessCompiler and CallOptimization to their own files
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
480413008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 22 Aug 2014 14:30:37 +0000 (14:30 +0000)]
Make v8 releases script ready for chromium git switch.
This uses chromium commit numbers that are supported after
the chromium git switch. Most functionality is copied from
the bot_update.py script from tools/build.
This also enables mapping bleeding edge revisions to chromium
revisions (previously the data was only retrieved for trunk).
TEST=script_test.py
TEST=tools/push-to-trunk/releases.py -c /path/to/chromium/src --branch recent
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
497043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 22 Aug 2014 14:12:47 +0000 (14:12 +0000)]
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
ulan@chromium.org [Fri, 22 Aug 2014 13:41:29 +0000 (13:41 +0000)]
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
ulan@chromium.org [Fri, 22 Aug 2014 13:26:29 +0000 (13:26 +0000)]
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
titzer@chromium.org [Fri, 22 Aug 2014 13:14:44 +0000 (13:14 +0000)]
Fix win64 (size_t vs int in CHECK).
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
485813003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 22 Aug 2014 13:02:11 +0000 (13:02 +0000)]
Remove dependency on GCTrace from GCIdleTimeHandler.
This makes testing GCIdleTimeHandler easier.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
496253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 22 Aug 2014 13:00:10 +0000 (13:00 +0000)]
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
yangguo@chromium.org [Fri, 22 Aug 2014 12:55:23 +0000 (12:55 +0000)]
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
verwaest@chromium.org [Fri, 22 Aug 2014 12:48:15 +0000 (12:48 +0000)]
Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
496313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 22 Aug 2014 12:37:51 +0000 (12:37 +0000)]
Add ScheduleVerifier.
This adds a series of checks to the output of scheduling, including properties
of the RPO order, the dominance relation, phi placement, and the SSA property
that definitions dominate all their uses.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
491303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 22 Aug 2014 12:32:12 +0000 (12:32 +0000)]
Re-land "Add finalize sweeping event to GCIdleTimeHandler."
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
496303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 22 Aug 2014 12:30:25 +0000 (12:30 +0000)]
Add ic-compiler to BUILD.gn
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
496303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 22 Aug 2014 11:48:52 +0000 (11:48 +0000)]
Change return-type of SetDataProperty to Handle.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
494733005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 22 Aug 2014 11:43:39 +0000 (11:43 +0000)]
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
verwaest@chromium.org [Fri, 22 Aug 2014 11:38:21 +0000 (11:38 +0000)]
Rewrite StoreIC handling using the LookupIterator. Continued from patch
494153002
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
478043006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 22 Aug 2014 11:36:23 +0000 (11:36 +0000)]
Revert "Add finalize sweeping event to GCIdleTimeHandler."
This reverts r23302.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
500483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 22 Aug 2014 11:34:13 +0000 (11:34 +0000)]
[Auto-roll] Bump up version to 3.29.15.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
498663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 22 Aug 2014 11:14:17 +0000 (11:14 +0000)]
Add finalize sweeping event to GCIdleTimeHandler.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
479693004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 22 Aug 2014 11:12:29 +0000 (11:12 +0000)]
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
yangguo@chromium.org [Fri, 22 Aug 2014 11:09:13 +0000 (11:09 +0000)]
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
yangguo@chromium.org [Fri, 22 Aug 2014 09:54:01 +0000 (09:54 +0000)]
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
ulan@chromium.org [Fri, 22 Aug 2014 09:18:10 +0000 (09:18 +0000)]
Reland part of r23285 "Start incremental marking in idle time handler only if it is worthwhile.""
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
496873004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Fri, 22 Aug 2014 09:05:04 +0000 (09:05 +0000)]
[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
bmeurer@chromium.org [Fri, 22 Aug 2014 08:52:40 +0000 (08:52 +0000)]
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
jarin@chromium.org [Fri, 22 Aug 2014 08:28:26 +0000 (08:28 +0000)]
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
bmeurer@chromium.org [Fri, 22 Aug 2014 07:54:41 +0000 (07:54 +0000)]
Add missing test directories to presubmit.py.
R=machenbach@chromium.org
BUG=v8:3489
LOG=n
Review URL: https://codereview.chromium.org/
479503004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 22 Aug 2014 07:54:09 +0000 (07:54 +0000)]
[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
jarin@chromium.org [Fri, 22 Aug 2014 07:44:18 +0000 (07:44 +0000)]
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
yangguo@chromium.org [Fri, 22 Aug 2014 07:25:12 +0000 (07:25 +0000)]
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
yangguo@chromium.org [Fri, 22 Aug 2014 06:45:15 +0000 (06:45 +0000)]
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
bmeurer@chromium.org [Fri, 22 Aug 2014 04:47:55 +0000 (04:47 +0000)]
[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
machenbach@chromium.org [Thu, 21 Aug 2014 19:55:27 +0000 (19:55 +0000)]
Revert "Start incremental marking in idle time handler only if it is worthwhile."
This reverts commit r23285 for breaking cctest/test-api/Regress2107.
TBR=ulan@chromium.org, hpayer@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
494203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 21 Aug 2014 16:05:38 +0000 (16:05 +0000)]
Start incremental marking in idle time handler only if it is worthwhile.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
492263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Thu, 21 Aug 2014 15:32:22 +0000 (15:32 +0000)]
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
hpayer@chromium.org [Thu, 21 Aug 2014 14:50:18 +0000 (14:50 +0000)]
Remove conservative sweeping.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
479113004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 21 Aug 2014 14:42:22 +0000 (14:42 +0000)]
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
machenbach@chromium.org [Thu, 21 Aug 2014 14:04:12 +0000 (14:04 +0000)]
[Auto-roll] Bump up version to 3.29.13.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
495973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Thu, 21 Aug 2014 13:50:13 +0000 (13:50 +0000)]
Fix unused-variable error on release builds.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
466333006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Thu, 21 Aug 2014 13:26:47 +0000 (13:26 +0000)]
Add ARMv6 support for the out-of-line constant pool.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
496443003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Thu, 21 Aug 2014 13:22:18 +0000 (13:22 +0000)]
ARM64: Slightly simplify LShiftI and LShiftS.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
494053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Thu, 21 Aug 2014 12:59:18 +0000 (12:59 +0000)]
Add missing ConstantPoolUnavailableScopes on JS return.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
494733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 21 Aug 2014 12:40:10 +0000 (12:40 +0000)]
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
dslomov@chromium.org [Thu, 21 Aug 2014 12:39:33 +0000 (12:39 +0000)]
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
bmeurer@chromium.org [Thu, 21 Aug 2014 12:36:00 +0000 (12:36 +0000)]
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
wingo@igalia.com [Thu, 21 Aug 2014 12:06:25 +0000 (12:06 +0000)]
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
bmeurer@chromium.org [Thu, 21 Aug 2014 12:02:24 +0000 (12:02 +0000)]
Fix clang/win build.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
494973004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 21 Aug 2014 11:56:46 +0000 (11:56 +0000)]
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
wingo@igalia.com [Thu, 21 Aug 2014 11:55:46 +0000 (11:55 +0000)]
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
commit-bot@chromium.org [Thu, 21 Aug 2014 09:35:59 +0000 (09:35 +0000)]
MSan: mark any memory allocated from the JS heap as uninitialized.
BUG=chromium:403409,chromium:178409
R=jkummerow@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
480763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 21 Aug 2014 09:34:47 +0000 (09:34 +0000)]
Rename IsDontDelete to IsConfigurable (and invert conditions)
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
494063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Thu, 21 Aug 2014 09:22:08 +0000 (09:22 +0000)]
Refactor parser Checkpoints.
Why this is better:
1) Not needing an extra template parameter for Checkpoints ctors. This was
especially confusing since the template parameter was named Parser and Parser is
also used as a type name and is also a concrete type. This CL makes it clear
that ParserTraits::Checkpoint is consturcted with ParserBase<ParserTraits> -
that's the only sensemaking type for the ctor param anyway.
2) This CL makes ParserBase define a Checkpoint base class (which knows how
to create and restore a checkpoint with ParserBase) which
PreParserTraits::Checkpoint and ParserTraits::Checkpoint inherit, and not the
other way around.
This is a more intuitive way to implement the "base functionality + extending
it" concept than the previous solution. The previous solution was to allow
Traits to define a Checkpoint class and make ParserBase<Traits>::ParserCheckpoint
(which defines the base functionality) inherit from it.
3) This CL moves the Checkpoint class definitions out of the SomeTraits::Type
struct; SomeTraits::Type is supposed to be a collection of typedefs and not
contain anything else.
Checkpoints were introduced in r22925 ( https://codereview.chromium.org/
443903003 ).
BUG=
R=wingo@igalia.com
Review URL: https://codereview.chromium.org/
485473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 21 Aug 2014 09:04:24 +0000 (09:04 +0000)]
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
machenbach@chromium.org [Thu, 21 Aug 2014 08:38:14 +0000 (08:38 +0000)]
Allow to combine quickcheck and no_variants in test driver.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
489343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 21 Aug 2014 08:37:59 +0000 (08:37 +0000)]
Indirect LookupResult accesses over PropertyAccessInfo
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
495483003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 21 Aug 2014 08:26:42 +0000 (08:26 +0000)]
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
verwaest@chromium.org [Thu, 21 Aug 2014 08:19:05 +0000 (08:19 +0000)]
Remove last LookupOwnRealNamedProperty usage from runtime.cc
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
494663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 21 Aug 2014 08:16:06 +0000 (08:16 +0000)]
Get rid of the NONEXISTENT PropertyType
BUG=
Review URL: https://codereview.chromium.org/
492433005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 21 Aug 2014 08:15:49 +0000 (08:15 +0000)]
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
machenbach@chromium.org [Thu, 21 Aug 2014 07:34:11 +0000 (07:34 +0000)]
[Auto-roll] Bump up version to 3.29.12.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
492213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 21 Aug 2014 06:23:44 +0000 (06:23 +0000)]
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
dslomov@chromium.org [Wed, 20 Aug 2014 19:21:56 +0000 (19:21 +0000)]
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
machenbach@chromium.org [Wed, 20 Aug 2014 19:12:41 +0000 (19:12 +0000)]
Whitespace change to test new unit tests.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 20 Aug 2014 16:25:40 +0000 (16:25 +0000)]
Get rid of last non-JSReceiver::Lookup usage of LookupOwn
BUG=
Review URL: https://codereview.chromium.org/
489063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Wed, 20 Aug 2014 15:51:07 +0000 (15:51 +0000)]
Refactor ParseObjectLiteral
This extracts the parsing of the ObjectLiteralProperty into its own
function. This is in preparation for adding support for parsing classes.
BUG=None
LOG=Y
R=dslomov@chromium.org, marja@chromium.org
Review URL: https://codereview.chromium.org/
458613004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 20 Aug 2014 15:37:43 +0000 (15:37 +0000)]
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
wingo@igalia.com [Wed, 20 Aug 2014 15:25:13 +0000 (15:25 +0000)]
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
arv@chromium.org [Wed, 20 Aug 2014 15:24:53 +0000 (15:24 +0000)]
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
verwaest@chromium.org [Wed, 20 Aug 2014 15:08:20 +0000 (15:08 +0000)]
Further reduce LookupResult usage
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
488073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Wed, 20 Aug 2014 15:04:22 +0000 (15:04 +0000)]
Change size of old pointer space first page back to 112KB (as it was before r23241)
This broke ReleaseOverReservedPages on Windows ia32.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
493703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Wed, 20 Aug 2014 14:58:18 +0000 (14:58 +0000)]
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
rmcilroy@chromium.org [Wed, 20 Aug 2014 14:41:53 +0000 (14:41 +0000)]
Add serializer support for builtins pointed by inner pointer and root objects pointed to by code for the out-of-line constant pool.
This is required for test-serialize tests which fail at the DCHECK on L1874 of serialize.cc otherwise.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
475753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Wed, 20 Aug 2014 14:40:53 +0000 (14:40 +0000)]
Modify SizeOfFirstPage to take ool constant pool into account.
The OOL constant pool places constants in the old pointer space rather than the code space
which makes test-heap/ReleaseOverReservedPages fail. Modify SizeOfFirstPage to
increase the initial size of old-pointer space by the size of the constant pool and
decrease the code space by a corresponding amount.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
479553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 20 Aug 2014 14:26:02 +0000 (14:26 +0000)]
Delete dead GetType from elements accessors
BUG=
Review URL: https://codereview.chromium.org/
489033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Wed, 20 Aug 2014 14:25:48 +0000 (14:25 +0000)]
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
yangguo@chromium.org [Wed, 20 Aug 2014 14:24:07 +0000 (14:24 +0000)]
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
ulan@chromium.org [Wed, 20 Aug 2014 14:20:59 +0000 (14:20 +0000)]
Fix EstimateMarkingStepSizeTest.
R=wingo@igalia.com
TBR=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
494683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 20 Aug 2014 14:16:28 +0000 (14:16 +0000)]
Restore CHECK_DERIVED_PROPERTY
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
491873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 20 Aug 2014 13:52:49 +0000 (13:52 +0000)]
Return empty handle if GetPropertyByLookup has no result.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
494583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 20 Aug 2014 13:17:59 +0000 (13:17 +0000)]
Fix BUILD.gn.
TBR=yanggou@chromium.org
Review URL: https://codereview.chromium.org/
488103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Wed, 20 Aug 2014 13:05:03 +0000 (13:05 +0000)]
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
yangguo@chromium.org [Wed, 20 Aug 2014 12:51:48 +0000 (12:51 +0000)]
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
bmeurer@chromium.org [Wed, 20 Aug 2014 12:10:41 +0000 (12:10 +0000)]
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
yangguo@chromium.org [Wed, 20 Aug 2014 11:52:22 +0000 (11:52 +0000)]
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
yangguo@chromium.org [Wed, 20 Aug 2014 11:04:05 +0000 (11:04 +0000)]
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
verwaest@chromium.org [Wed, 20 Aug 2014 10:37:23 +0000 (10:37 +0000)]
Get rid of GetLazyValue and clients.
This breaks fetching name of the constructor property of "Object"-labeled values in the heap-snapshot-generator until that's handlified and can be moved over to the LookupIterator.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
480823004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 20 Aug 2014 10:33:47 +0000 (10:33 +0000)]
Fix arm64 build.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
490643006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 20 Aug 2014 10:33:03 +0000 (10:33 +0000)]
Use actual incremental marking throughput in IdleNotification to estimate marking step size.
BUG=
R=jochen@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
465473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 20 Aug 2014 09:43:00 +0000 (09:43 +0000)]
Remove RegExp.$input.
R=arv@chromium.org, mathiasb@opera.com
BUG=v8:3486
LOG=Y
Review URL: https://codereview.chromium.org/
465273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00