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
yurys@chromium.org [Fri, 29 Nov 2013 09:47:32 +0000 (09:47 +0000)]
Move heap profiler state flags to HeapProfiler
- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
94993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Nov 2013 09:44:54 +0000 (09:44 +0000)]
Enable --new-string-add by default.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
96513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 09:31:45 +0000 (09:31 +0000)]
Fix build.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
96623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 09:02:00 +0000 (09:02 +0000)]
Revert r18131 and r18139 "Clean up in the CallStubCompiler".
and "Fix register usage."
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
96573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:47:48 +0000 (01:47 +0000)]
MIPS: Fetch strictmode in the interceptor setter from the IC.
Port r18140 (
9d563402)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:46:43 +0000 (01:46 +0000)]
MIPS: Fix register usage.
Port r18139 (
2d54152a)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:44:23 +0000 (01:44 +0000)]
MIPS: Cleanup in the CallStubCompiler.
Port r18131 (
b49d9992)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:43:02 +0000 (01:43 +0000)]
MIPS: Use the HandlerFrontendHeader in most call compilers.
Port r18125 (
e541c68d)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:13:30 +0000 (18:13 +0000)]
Remove strictmode from FindHandler.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:11:15 +0000 (18:11 +0000)]
Fetch strictmode in the interceptor setter from the IC.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:09:05 +0000 (18:09 +0000)]
Fix register usage.
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Nov 2013 16:14:54 +0000 (16:14 +0000)]
Remove static asserts that dont compile on windows
TBR=mvstanton
BUG=
Review URL: https://codereview.chromium.org/
95493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Nov 2013 15:50:54 +0000 (15:50 +0000)]
Implement global check elimination using the HFlowEngine.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
46883009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 28 Nov 2013 15:32:55 +0000 (15:32 +0000)]
Move responsibility for definition of ExtraICState bits into the ICs.
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Nov 2013 15:30:17 +0000 (15:30 +0000)]
Fix bug in inlining Function.apply.
R=jkummerow@chromium.org
BUG=323942
LOG=Y
Review URL: https://codereview.chromium.org/
95123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00