titzer@chromium.org [Tue, 10 Dec 2013 14:05:25 +0000 (14:05 +0000)]
Add a regression test for boolean concatenation in strings.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106743010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 10 Dec 2013 13:11:08 +0000 (13:11 +0000)]
Fix patching the receiver (global object -> global proxy) after the interceptor.
This is a temporary fix that will be replaced by loading the proxy from the target function.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
108913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 10 Dec 2013 12:11:45 +0000 (12:11 +0000)]
Track *all* external strings in the external string table.
Up till now, external strings may be tracked in the string table
(for internalized strings) or the external string table, depending
on in which order internalize and externalize happened.
The internalized string table should not have to deal with external
strings, all of which should be tracked by the external string table.
R=svenpanne@chromium.org
BUG=326489
LOG=N
Review URL: https://codereview.chromium.org/
103663006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 10 Dec 2013 09:44:44 +0000 (09:44 +0000)]
Increase number of available major keys.
This also adds a static assert checking that we do not
exceed the available number of major keys. The safepoint
table offset is now max 2^24 instead of 2^25.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
110183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 9 Dec 2013 16:51:57 +0000 (16:51 +0000)]
HLoadNamedField for Smis optimized for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
108633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 9 Dec 2013 16:41:42 +0000 (16:41 +0000)]
x64: save a bit code size
It would be better use macro always
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
100843002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 9 Dec 2013 16:11:54 +0000 (16:11 +0000)]
Prepare push to trunk. Now working on version 3.24.1.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
104663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 9 Dec 2013 16:00:58 +0000 (16:00 +0000)]
Fast-forward version number on bleeding_edge to 3.24.0
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
107473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Dec 2013 10:15:19 +0000 (10:15 +0000)]
Avoid FP exceptions when doing integer division.
BUG=v8:3039
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
104003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Dec 2013 10:14:20 +0000 (10:14 +0000)]
Fix trivial error when building with clang.
$ ninja -C out/Debug
...
../../src/d8.cc:171:11: error: unused variable 'MB'
[-Werror,-Wunused-const-variable]
const int MB = 1024 * 1024;
^
1 error generated.
R=titzer@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
105833008
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 9 Dec 2013 07:41:20 +0000 (07:41 +0000)]
Replace 'operator*' with explicit 'get' method on SmartPointer
Made operator* return reference to the raw type, not pointer. New method 'get()' should be used when raw pointer is needed.
Also removed useless inline modifier from the SmaprtPointer methods and added const modifier to the methods that don't change smart pointer.
Made ~SmartPointerBase protected to avoid accidental calls of the non-virtual base class's destructor.
drive-by: fixed use after free in src/factory.cc
BUG=None
LOG=N
R=alph@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
101763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 6 Dec 2013 16:23:49 +0000 (16:23 +0000)]
MIPS: Faster memcpy.
BUG=
R=jkummerow@chromium.org, plind44@gmail.com
Review URL: https://codereview.chromium.org/
104353002
Patch from yuyin QQ <xwafish@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 6 Dec 2013 14:14:32 +0000 (14:14 +0000)]
MIPS: Fix compilation with clang.
Port r18267 (12a613f)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
98403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Dec 2013 11:45:26 +0000 (11:45 +0000)]
Fix compilation with clang
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Dec 2013 09:52:40 +0000 (09:52 +0000)]
Remove outdated profiler flags
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
103293006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 6 Dec 2013 09:43:07 +0000 (09:43 +0000)]
Bugfix: HCheckInstanceType::GetCheckMaskAndTag used an incorrect mask.
The mask to check for an internalized string was incorrectly formed. Hat
tip to Weiliang Lin for discovering the bug.
BUG=v8:3038
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
108033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 5 Dec 2013 20:27:43 +0000 (20:27 +0000)]
MIPS: Fix parameter passing in callback store ics on arm
Port r18260 (
d708e244)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
100453009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Dec 2013 18:31:06 +0000 (18:31 +0000)]
Fix loop side-effects of deoptimizing loops with a nested live OSR loop.
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
106723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 5 Dec 2013 17:26:22 +0000 (17:26 +0000)]
Add tests and extension verifying CHECK and ASSERT.
The new native functions can also be used in blink tests to ensure that V8 asserts are turned on where they should be.
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
105953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Dec 2013 16:17:44 +0000 (16:17 +0000)]
Fix incorrect patching for OSR.
If OSR happens before regular recompilation, the unoptimized function code
on the stack may not have deoptimization support. In that case, graph
creation compiles the unoptimized code again to include support. That
code is then installed as shared code. When we patch code for OSR, the
function code on the stack and not the shared code is what we want.
R=titzer@chromium.org
TEST=block-conflicts.js with --always-osr --concurrent-osr
Review URL: https://codereview.chromium.org/
99013003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Dec 2013 12:38:50 +0000 (12:38 +0000)]
Fix parameter passing in callback store ics on arm
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
93873007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 5 Dec 2013 12:37:24 +0000 (12:37 +0000)]
'make quickcheck': Assorted improvements.
'make ia32' should not build ia32.optdebug.
'make ia32.clean' should delete ia32.optdebug output.
'make quickcheck' should be terminatable by hitting Ctrl+C just once.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Dec 2013 12:36:42 +0000 (12:36 +0000)]
Reland "Implement hyperbolic math functions for ES6."
BUG=v8:2938
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
104173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 5 Dec 2013 11:19:10 +0000 (11:19 +0000)]
Pass -Goutput_dir=. to the make generator.
This makes it possible to remove the builddir_name hack added in r238632.
BUG=315004
Patch from Nico Weber <thakis@chromium.org>.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
98753003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 11:39:24 +0000 (11:39 +0000)]
Remove unused trigonometric code.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
104203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Dec 2013 10:46:18 +0000 (10:46 +0000)]
Remove unnecessary overflow check in HGraphBuilder::BuildCreateAllocationMemento().
With this fix codegen looks like:
mov ecx,[eax+0xf] ;;; <@52,#38> load-named-field
add ecx,0x2 ;;; <@54,#40> add-i
mov [eax+0xf],ecx ;;; <@56,#41> store-named-field
without it there is an overflow check and jump to deopt.
x64 code looks similar, except there is an (annoying) smi-untag then int32-to-smi around the add operation.
R=bmeurer@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
104313003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 4 Dec 2013 10:09:08 +0000 (10:09 +0000)]
Remove internal uses of HandleScope::Close().
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
104183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Dec 2013 09:54:23 +0000 (09:54 +0000)]
AllocationSite::memento_found_count() and friends need Smi access.
Some new AllocationSite fields weren't accessed with the correct
representation.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
101783005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 4 Dec 2013 09:42:29 +0000 (09:42 +0000)]
Prepare push to trunk. Now working on version 3.23.19.
R=dslomov@chromium.org
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
104183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 09:27:48 +0000 (09:27 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."
This reverts commit r18246 for tanking all benchmarks.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
104243002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 08:53:17 +0000 (08:53 +0000)]
Revert "Implement hyperbolic math functions for ES6."
BUG=
Review URL: https://codereview.chromium.org/
104003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 4 Dec 2013 08:47:18 +0000 (08:47 +0000)]
Add fully automated mode to push-to-trunk script.
Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
102253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 08:37:34 +0000 (08:37 +0000)]
Use constant types to represent the fixed right arg of a MOD.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
103933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 08:32:18 +0000 (08:32 +0000)]
Implement hyperbolic math functions for ES6.
R=jarin@chromium.org
BUG=v8:2938
LOG=Y
Review URL: https://codereview.chromium.org/
102023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 08:25:58 +0000 (08:25 +0000)]
Fix performance regression in Kraken audio-oscillator.
BUG=325529
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
103903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 06:06:57 +0000 (06:06 +0000)]
Skip write barrier if value and object originate from the same allocation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
101993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 3 Dec 2013 18:04:45 +0000 (18:04 +0000)]
Add some test cases with dead loops.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98323004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Dec 2013 17:59:31 +0000 (17:59 +0000)]
Check whether the receiver to a keyed-call is actually a heapobject.
BUG=325225
LOG=n
R=dslomov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
101863004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 3 Dec 2013 14:30:36 +0000 (14:30 +0000)]
Fix condition in merge-to-branch.sh
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
101973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 3 Dec 2013 14:24:40 +0000 (14:24 +0000)]
'make quickcheck': don't overwrite debug output.
Achieved by turning optdebug into a first-class compilation mode.
R=bmeurer@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
98963002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 3 Dec 2013 13:48:40 +0000 (13:48 +0000)]
Disable escape analysis.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
101903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 13:12:52 +0000 (13:12 +0000)]
Tests that make a stack allocated persistent weak and rely on gc need to force gc
Otherwise, if during a fuzzer test incremental marking is running, we'll
crash in the weak callback
BUG=none
TBR=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
101843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 12:38:25 +0000 (12:38 +0000)]
Mock out date call in push-to-trunk script for testability.
TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 3 Dec 2013 12:32:35 +0000 (12:32 +0000)]
Make LCodeGen::RegisterDependentCodeForEmbeddedMaps platform independent.
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
99053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 11:24:56 +0000 (11:24 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."
This reverts commit r18228 for crashing on Windows.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
101663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 10:51:57 +0000 (10:51 +0000)]
Use constant types to represent the fixed right arg of a MOD.
R=mvstanton@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
99173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:40:13 +0000 (10:40 +0000)]
Remove deprecated Persistent::MakeWeak usage from V8
BUG=none
LOG=n
R=dcarney@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
101523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:39:21 +0000 (10:39 +0000)]
Change clang-format config to allow for two empty lines between functions
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
101543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:24:41 +0000 (10:24 +0000)]
Add dcarney to V8 OWNERS
R=danno@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
101373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 09:59:24 +0000 (09:59 +0000)]
Enable new string add.
BUG=v8:2990
LOG=n
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
100223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 3 Dec 2013 09:48:30 +0000 (09:48 +0000)]
Remove HeapSnapshotsCollection class
The class added unecessary level of indirection to the heap profiler implementation. I merged some of its implementation into HeapProfiler and deleted the rest. This refactoring is also a prerequisite for keeping HeapObjectsMap alive even when all snapshots are deleted.
BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
101393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 09:13:51 +0000 (09:13 +0000)]
Fix change log generation in push-to-trunk script.
Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.
TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
99573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 08:00:20 +0000 (08:00 +0000)]
Prepare push to trunk. Now working on version 3.23.18.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
101313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 3 Dec 2013 03:49:41 +0000 (03:49 +0000)]
Refactor X64 movq assembler instruction
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
91333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 3 Dec 2013 02:49:42 +0000 (02:49 +0000)]
Use ULL and LL suffix for uint64_t and int64_t constants on Mac
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
96623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:18:22 +0000 (21:18 +0000)]
MIPS: Tidy up Throw and Mod
Port r18200 (
4110d9df)
Original commit message:
Small fixes to Throw and Mod Lithium instructions.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:17:16 +0000 (21:17 +0000)]
MIPS: Refactor BinaryOpIC to be able to use different stubs.
Port r18191 (
c20c6dc1)
Original commit message:
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:16:21 +0000 (21:16 +0000)]
MIPS: Fix HInnerAllocatedObject to use an HValue for the offset.
Port r18181 (
2b41b833)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
99763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:15:31 +0000 (21:15 +0000)]
MIPS: Optimize WrapReceiver
Port r18180 (
56666385)
Original commit message:
Optimize register constraints and code generated for WrapReceiver Lithium instruction.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 2 Dec 2013 18:34:33 +0000 (18:34 +0000)]
Check elimination: Learn from if(CompareMap(x)) on true branch.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
99043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 2 Dec 2013 18:12:01 +0000 (18:12 +0000)]
Remove remaining HandleScope::Close usage
For some reason, this is only caught when compiling with chromium on
Mac.
BUG=none
R=verwaest@chromium.org, dslomov@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
99263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 17:40:06 +0000 (17:40 +0000)]
MIPS: Remove the obsolete Code::IsPregenerated flag.
Port r18172 (
cd823192)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
99323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 2 Dec 2013 15:46:41 +0000 (15:46 +0000)]
Print exit code on crash in run-tests.py
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
99363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 2 Dec 2013 15:41:57 +0000 (15:41 +0000)]
Fix: test-debug.cc: don't misuse C++.
The test in question (test-debug/LiveEditEnabled) is expected to fail, and it
failed, but because of the wrong reason (the test asserts that the default
isolate is not initialized, SetLiveEditEnabled initialized the default
isolate because it doesn't get one as param). Now it fails because of the right
reason.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
99043004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 2 Dec 2013 15:38:50 +0000 (15:38 +0000)]
Bug in StoreIC::GenerateMegamorphic: strict_mode/extra_ic_state mismatch.
When computing the code flags for a megamorphic store IC, we mistakenly
passed a strict_mode variable when an ExtraICState was expected.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98633005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Dec 2013 15:29:31 +0000 (15:29 +0000)]
Support 'werror=no' on Mac/Xcode
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 15:27:57 +0000 (15:27 +0000)]
ARM: Tidy up Throw and Mod
Small fixes to Throw and Mod Lithium instructions.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98603005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 2 Dec 2013 14:49:39 +0000 (14:49 +0000)]
Enable global load elimination.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
98943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 2 Dec 2013 14:27:24 +0000 (14:27 +0000)]
Simplify allocation tracker API
Deprecated separate methods for starting/stopping allocation tracking in favor of a bool param to Start/StopTrackingHeapObjects.
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 2 Dec 2013 13:49:32 +0000 (13:49 +0000)]
Move more logic from AST to oracle, pt 3
Also eliminates remaining dependencies of type-info on AST.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
95033003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:40:14 +0000 (13:40 +0000)]
Fix NaCl build.
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
99093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:14:07 +0000 (13:14 +0000)]
Refactor BinaryOpIC to be able to use different stubs.
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.
R=hpayer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
97543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:12:07 +0000 (13:12 +0000)]
Fix invalid assertion with OSR in BuildBinaryOperation.
BUG=v8:3032
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
98623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Dec 2013 12:56:54 +0000 (12:56 +0000)]
Make sin-cos test case compatible with --always-osr.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
98893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Dec 2013 12:11:02 +0000 (12:11 +0000)]
Handle captured objects in OptimizedFrame::Summarize.
R=yangguo@chromium.org
BUG=v8:3029
TEST=mjsunit/regress/regress-3029
LOG=N
Review URL: https://codereview.chromium.org/
96773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 2 Dec 2013 11:59:44 +0000 (11:59 +0000)]
Removed pieces of extra_ic_state scattered around the stub compiler class hierarchy, and pushed down to a extra_ic_state in the base class.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 11:24:31 +0000 (11:24 +0000)]
Fix HInnerAllocatedObject to use an HValue for the offset.
R=hpayer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
98673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 10:56:23 +0000 (10:56 +0000)]
ARM: Optimize WrapReceiver
Optimize register constraints and code generated for WrapReceiver Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
96993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 2 Dec 2013 10:46:10 +0000 (10:46 +0000)]
Prepare push to trunk. Now working on version 3.23.17.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
98453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 2 Dec 2013 09:53:28 +0000 (09:53 +0000)]
Add retry feature for push-to-trunk script.
Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
91733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Dec 2013 09:51:37 +0000 (09:51 +0000)]
Remove special "store global proxy" IC, use as slow_stub().
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 09:46:35 +0000 (09:46 +0000)]
Remove the obsolete Code::IsPregenerated flag.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96753003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 08:09:17 +0000 (08:09 +0000)]
Fix compilation error with latest Xcode.
The build failed because of unused private fields.
R=titzer@chromium.org
BUG=v8:3030
LOG=n
Review URL: https://codereview.chromium.org/
94793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sun, 1 Dec 2013 11:40:02 +0000 (11:40 +0000)]
Don't run tests if build fails in quickcheck.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
97803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Sat, 30 Nov 2013 01:32:07 +0000 (01:32 +0000)]
MIPS: Drop IsPregenerated() and allow_stub_calls flag.
Port r18167 (
1e4b11e0)
Original commit message:
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
97373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 23:46:10 +0000 (23:46 +0000)]
MIPS: Fix failures on Octane 2.0 zlib benchmark.
The bug was introduced in af9504e.
The zlib benchmark triggers long branch mode on MIPS, in which
at register is clobbered after every branch.
TEST=benchmarks/octane/zlib
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
95203005
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Nov 2013 20:49:15 +0000 (20:49 +0000)]
Drop IsPregenerated() and allow_stub_calls flag.
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 19:51:52 +0000 (19:51 +0000)]
MIPS: Fix --new-string-add feature.
This commit fixes the arguments of NewStringAdd stub in full-codegen.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96593005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 19:50:38 +0000 (19:50 +0000)]
MIPS: Optimize NumberTagU
Port r18162 (
8377a09b)
Original commit message:
Optimize register constaints for NumberTagU Lithium instruction, and adjust code generated to match.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
97083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 29 Nov 2013 15:22:16 +0000 (15:22 +0000)]
Array builtins need to be prevented from changing frozen objects, and changing structure on sealed objects.
BUG=299979
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
80623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Fri, 29 Nov 2013 13:21:43 +0000 (13:21 +0000)]
ARM: Optimize NumberTagU
Optimize register constaints for NumberTagU Lithium instruction, and adjust code
generated to match.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
94983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 29 Nov 2013 12:57:47 +0000 (12:57 +0000)]
Reupload CallIC changes.
Relands https://codereview.chromium.org/
91963003/ with fix for the invalid receiver patching in case of the global object / interceptor.
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
96763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 29 Nov 2013 12:37:35 +0000 (12:37 +0000)]
Eliminate HCheckHeapObject instructions in check elimination.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
95263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 11:43:05 +0000 (11:43 +0000)]
Prepare push to trunk. Now working on version 3.23.16.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
96593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 11:20:59 +0000 (11:20 +0000)]
Turn off new_string_add flag.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
95603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 10:31:49 +0000 (10:31 +0000)]
Revert r18144, r18143.
MIPS: Fix register usage.
MIPS: Cleanup in the CallStubCompiler.
The original revisions r18131 and r18139 have been reverted.
TBR=palfia@homejinni.com
Review URL: https://codereview.chromium.org/
96743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 29 Nov 2013 10:02:32 +0000 (10:02 +0000)]
A few small refactorings and typo fixes
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
95333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:59:35 +0000 (09:59 +0000)]
Follow-up fix for r18135 in TryCallApply.
R=yangguo@chromium.org
BUG=chromium:323942
TEST=mjsunit/regress/regress-crbug-323942
LOG=N
Review URL: https://codereview.chromium.org/
95583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 29 Nov 2013 09:54:38 +0000 (09:54 +0000)]
Do not put allocated block into HeapObjectsMap
Heap allocation reported to AllocationTracker may be later divided into several objects so it is incorrect to put the block as a new HeapObject into the map. We will match allocated block with actual HeapObjects later when iterating Heap (will be addressed in another patch). Since the objects are not assigned an id immediately after creation we need to call FindOrAddEntry when finding id for SharedFunctionInfo during stack crawling.
Removed hooks for tracking creation of AllocationMemento. AllocationMemento is not a HeapObject and should be considered as implementation overhead.
Renamed NewObjectEvent to AllocationEvent which is more precise in case of folded allocations and when a part of the new block becomes AllocationMemento.
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
95283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:47:40 +0000 (09:47 +0000)]
Fix context register allocation in LTransitionElementsKind.
R=yangguo@chromium.org
BUG=chromium:324306
LOG=N
Review URL: https://codereview.chromium.org/
95293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00