yangguo@chromium.org
5bc64b9fa5
Fix off-by-one error in AstTyper.
...
This causes the first parameter to be confused with the first
stack local when we collect type information.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/105943007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 11:34:09 +00:00
palfia@homejinni.com
0d6cdf825b
MIPS: Fix popping order on ARM.
...
Port r18291 (f5a50cf3)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/111933004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 23:03:56 +00:00
palfia@homejinni.com
925837f0ca
MIPS: Properly restore the receiver after the interceptor call.
...
Port r18289 (6bc886d3)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/110943003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 23:01:40 +00:00
palfia@homejinni.com
6b65e909e0
MIPS: Fix patching the receiver (global object -> global proxy) after the interceptor.
...
Port r18286 (f6277add)
Original commit message:
This is a temporary fix that will be replaced by loading the proxy from the target function.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/103453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 23:00:10 +00:00
verwaest@chromium.org
4b9730b1b3
Push receiver and holder separately, given that they can be the same.
...
TBR=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/110883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 22:43:15 +00:00
verwaest@chromium.org
c70e83299e
Fix popping order on ARM.
...
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/99353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 16:28:58 +00:00
hpayer@chromium.org
75a84eca0b
Added regression test for escape analysis.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/99133011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 15:54:20 +00:00
verwaest@chromium.org
be509eecf1
Properly restore the receiver after the interceptor call.
...
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/108803006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 14:36:10 +00:00
dslomov@chromium.org
dbf5be005a
Use FAR jump in GenerateCompareFlatAsciiStrings.
...
BUG=325487
R=jkummerow@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/106853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 14:28:41 +00:00
titzer@chromium.org
3de79abd85
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
2013-12-10 14:05:25 +00:00
verwaest@chromium.org
7ee571bee6
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
2013-12-10 13:11:08 +00:00
yangguo@chromium.org
d9e0763532
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
2013-12-10 12:11:45 +00:00
bmeurer@chromium.org
f0cfb1cad9
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
2013-12-10 09:44:44 +00:00
ishell@chromium.org
28c557dd5b
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
2013-12-09 16:51:57 +00:00
verwaest@chromium.org
9f8d6442ac
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
2013-12-09 16:41:42 +00:00
machenbach@chromium.org
278fef1192
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
2013-12-09 16:11:54 +00:00
machenbach@chromium.org
5cd5ee105c
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
2013-12-09 16:00:58 +00:00
svenpanne@chromium.org
e1db6d86a9
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
2013-12-09 10:15:19 +00:00
svenpanne@chromium.org
ab03fd5022
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
2013-12-09 10:14:20 +00:00
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