Commit Graph

14159 Commits

Author SHA1 Message Date
hpayer@chromium.org
769dc2950b Prepare push to trunk. Now working on version 3.24.3.
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/99923007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-17 07:52:27 +00:00
jkummerow@chromium.org
f0bf75f709 Fix standalone Android and NaCl Makefiles to support arm_version=7 and optdebug
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/116423002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 15:50:34 +00:00
ulan@chromium.org
c88f993ffc Flush instruction cache for deserialized code objects.
This fixes the flaky crashes on ARM when running preparser test suite in
optdebug mode.

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/107543003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 13:08:24 +00:00
machenbach@chromium.org
508f7d256a Add named options to push-to-trunk script.
Also make sure that on exceptions from the test infrastructure there is no retry.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/114203002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 10:56:52 +00:00
jkummerow@chromium.org
7e75d197b6 Prepare push to trunk. Now working on version 3.24.2.
R=ulan@chromium.org
TBR=ulan@chromium.org

Review URL: https://codereview.chromium.org/106763003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-13 15:13:13 +00:00
jkummerow@chromium.org
28cab36838 Ensure that Code objects' kind specific flags are initialized properly.
Also, have the stub cache set a valid MajorKey on stubs it creates.
Getting weird random bits frightens and confuses the poor simple type feedback oracle.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/108443004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-13 10:27:19 +00:00
yangguo@chromium.org
213b05b5b9 Fix off-by-one error in AstTyper, part 2.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/112933002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-12 15:19:57 +00:00
jkummerow@chromium.org
48ff79a300 Fix polymorphic inlined calls with migrating prototypes
LOG=Y
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/104793003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-12 14:57:00 +00:00
machenbach@chromium.org
3c601ff5b5 Add last-push check to automatic push-to-trunk script.
Make sure the script is not trying a push-to-trunk twice in a row.

This also passes through some command line parameters.

TEST=python -m unittest test_scripts.ScriptTest.testCheckLastPushRecently
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/103533003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:27:38 +00:00
machenbach@chromium.org
7a8a098a5e Make squash commits step more pythony in push-to-trunk script.
Get rid of linux-only shell commands. Solve issue with quotation marks in commit messages.

Further behavioral change: Strip white space on line endings. Strip trailing new lines.

Test=python -m unittest test_scripts

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/101763002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:05:53 +00:00
yurys@chromium.org
19f29c380e Do not stop profiling if all finished profiles were deleted
Deleting finished profiles shouldn't interrupt profile recording.

BUG=chromium:327298
LOG=N
R=alph@chromium.org, jkummerow@chromium.org

Review URL: https://codereview.chromium.org/103893003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 14:39:18 +00:00
verwaest@chromium.org
d5787278bc Fixed global object leak caused by overwriting the global receiver (the global proxy) in the global object with the global object itself.
This CL additionally removes the API function to reattach a global proxy to a
global object.

BUG=324812
LOG=y
R=dcarney@chromium.org, titzer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/101733002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 13:51:48 +00:00
ulan@chromium.org
cc401095fb Initialize Date parse cache with SMI instead of double to workaround sharing mutable heap numbers in snapshot.
This is the only field in the snapshot that was tracked as double.

R=verwaest@chromium.org
TEST=mjsunit/regress/regress-280531.js
BUG=280531
LOG=Y

Review URL: https://chromiumcodereview.appspot.com/112003005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 13:11:44 +00:00
jkummerow@chromium.org
7967a195c7 Switch armv7 setting to arm_version==7 in v8 gyp files
BUG=chromium:234135
LOG=Y
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/98543008

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 11:58:07 +00:00
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