Commit Graph

14126 Commits

Author SHA1 Message Date
yurys@chromium.org
cd5ea74700 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
2013-12-09 07:41:20 +00:00
plind44@gmail.com
17766404d5 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
2013-12-06 16:23:49 +00:00
plind44@gmail.com
6afe5553b0 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
2013-12-06 14:14:32 +00:00
jkummerow@chromium.org
64e9cbc305 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
2013-12-06 11:45:26 +00:00
jkummerow@chromium.org
b1a1968ac1 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
2013-12-06 09:52:40 +00:00
mvstanton@chromium.org
b807f4f82f 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
2013-12-06 09:43:07 +00:00
palfia@homejinni.com
38db0a4bd8 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
2013-12-05 20:27:43 +00:00
verwaest@chromium.org
8a4df124a4 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
2013-12-05 18:31:06 +00:00
machenbach@chromium.org
d8a757c669 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
2013-12-05 17:26:22 +00:00
yangguo@chromium.org
96b58ba4a3 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
2013-12-05 16:17:44 +00:00
dcarney@chromium.org
69314e1f47 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
2013-12-05 12:38:50 +00:00
jkummerow@chromium.org
fa4faff962 '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
2013-12-05 12:37:24 +00:00
yangguo@chromium.org
34f0b745b8 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
2013-12-05 12:36:42 +00:00
machenbach@chromium.org
24912a794c 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
2013-12-05 11:19:10 +00:00
yangguo@chromium.org
5df90d2c74 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
2013-12-04 11:39:24 +00:00
mvstanton@chromium.org
a1a871fb5a 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
2013-12-04 10:46:18 +00:00
svenpanne@chromium.org
d6b75581f3 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
2013-12-04 10:09:08 +00:00
mvstanton@chromium.org
784b8207cf 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
2013-12-04 09:54:23 +00:00
machenbach@chromium.org
7a42629b79 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
2013-12-04 09:42:29 +00:00
bmeurer@chromium.org
69b5d5f8f6 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
2013-12-04 09:27:48 +00:00
yangguo@chromium.org
3e689544af 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
2013-12-04 08:53:17 +00:00
machenbach@chromium.org
34943ca0c8 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
2013-12-04 08:47:18 +00:00
bmeurer@chromium.org
1868ef5de9 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
2013-12-04 08:37:34 +00:00
yangguo@chromium.org
d1e0c338f3 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
2013-12-04 08:32:18 +00:00
bmeurer@chromium.org
a3c454da9d 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
2013-12-04 08:25:58 +00:00
bmeurer@chromium.org
86fa1cfceb 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
2013-12-04 06:06:57 +00:00
titzer@chromium.org
1d6710c933 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
2013-12-03 18:04:45 +00:00
verwaest@chromium.org
d4eaae37d1 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
2013-12-03 17:59:31 +00:00
dslomov@chromium.org
8058a7fd2b 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
2013-12-03 14:30:36 +00:00
jkummerow@chromium.org
5e535ae6c1 '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
2013-12-03 14:24:40 +00:00
hpayer@chromium.org
9148975b1f 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
2013-12-03 13:48:40 +00:00
jochen@chromium.org
9d2344d1f4 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
2013-12-03 13:12:52 +00:00
machenbach@chromium.org
9087d5f865 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
2013-12-03 12:38:25 +00:00
ulan@chromium.org
a06c84354c 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
2013-12-03 12:32:35 +00:00
bmeurer@chromium.org
7e540e6b8a 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
2013-12-03 11:24:56 +00:00
bmeurer@chromium.org
5c6b9500aa 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
2013-12-03 10:51:57 +00:00
jochen@chromium.org
8565d3e966 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
2013-12-03 10:40:13 +00:00
jochen@chromium.org
ee5726cd5b 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
2013-12-03 10:39:21 +00:00
jochen@chromium.org
b687004f0d 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
2013-12-03 10:24:41 +00:00
bmeurer@chromium.org
15fdadfb08 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
2013-12-03 09:59:24 +00:00
yurys@chromium.org
054bdf7fc0 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
2013-12-03 09:48:30 +00:00
machenbach@chromium.org
0fd8169408 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
2013-12-03 09:13:51 +00:00
machenbach@chromium.org
738c15f697 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
2013-12-03 08:00:20 +00:00
haitao.feng@intel.com
52ff9897fb 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
2013-12-03 03:49:41 +00:00
haitao.feng@intel.com
cb5ba0cfd2 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
2013-12-03 02:49:42 +00:00
palfia@homejinni.com
5691b8f9c5 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
2013-12-02 21:18:22 +00:00
palfia@homejinni.com
801b2b05c3 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
2013-12-02 21:17:16 +00:00
palfia@homejinni.com
68e0ca2e08 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
2013-12-02 21:16:21 +00:00
palfia@homejinni.com
f854247076 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
2013-12-02 21:15:31 +00:00
titzer@chromium.org
16c4c14fac 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
2013-12-02 18:34:33 +00:00