Commit Graph

19344 Commits

Author SHA1 Message Date
jarin@chromium.org
5b742b356d Adding more missing deoptimization points in Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:37:58 +00:00
rmcilroy@chromium.org
d5e33ac3c7 Enable out-of-line constant pool for Arm.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:23:27 +00:00
neis@chromium.org
f292c4f78e Take output type into account in JSTypedLowering reduction.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:15:41 +00:00
ishell@chromium.org
171e62e589 ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:11:27 +00:00
alph@chromium.org
24d1ef4868 Initial implementation of GetStackSample sampling profiler API.
The patch is based on https://codereview.chromium.org/578163002/#ps20001
made by gholap@chromium.org

LOG=N
BUG=v8:3490
R=bmeurer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:59:54 +00:00
balazs.kilvady@imgtec.com
38da3edf58 MIPS: Stores and compound assignments for named super properties.
Port r24268 (428e63d)

BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:45:12 +00:00
jochen@chromium.org
9b32bb22c1 Add a getter for the address and size of the code range to the pulic API
Since the x64 backend currently doesn't emit ABI compliant code, it is
not possible to unwind the stack. During Win64 SEH this will cause the
exception handling to abort, and not even call the unhandled exception
handler. Embedders are advised to install a custom unwind callback using
RtlInstallFunctionTableCallback for the entire code range to catch
unwind attempts for exception handling.

BUG=v8:3598
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:17:31 +00:00
mstarzinger@chromium.org
b2aaac9404 Drop deprecated method for backing store from AccessBuilder.
R=bmeurer@chromium.org
TEST=cctest/test-simplified-lowering/RunLoadStoreArrayBuffer

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:35:01 +00:00
ishell@chromium.org
df2e4f8e9b Map::Hash() calculation made deterministic in predictable mode.
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:29:43 +00:00
weiliang.lin@intel.com
baae3f8e1e X87: Stores and compound assignments for named super properties.
port r24268.

original commit message:

    Stores and compound assignments for named super properties.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:08:06 +00:00
dcarney@chromium.org
058f24d0ce add missing inl includes
TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:34:21 +00:00
aandrey@chromium.org
4b072d16f2 Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.
R=ulan@chromium.org, yangguo@chromium.org, wingo, yangguo

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:22:56 +00:00
dcarney@chromium.org
47880b830f [turbofan] add new ia32 addressing modes
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:15:55 +00:00
m.m.capewell@googlemail.com
85f47bd885 [turbofan] ARM64 support for multiply-accumulate
Add instruction selectors for multiply-accumulate, multiply-subtract and negated
multiply operations.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:08:04 +00:00
bmeurer@chromium.org
f6e97c90fb Fix initialization of assert scopes.
The thread local key for assert scopes can be lazily initialized and
should be independent of the Isolate initialization. Also cleanup the
assert-scope.{cc,h} implementation while I was at it.

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:39:22 +00:00
yangguo@chromium.org
b0fdeb1b2a Split more runtime functions into seperate files.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:32:38 +00:00
dslomov@chromium.org
6312804eb3 Access checks test for stores to 'super'.
R=dcarney@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:47:04 +00:00
dcarney@chromium.org
287bb3b33b fix win compilation after r24267
TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:45:11 +00:00
weiliang.lin@intel.com
6a7cc6cc61 X87: fix the Sqrt issue.
The test mjsunit/regress/regress-sqrt compares the result of Math.sqrt function
   when using full-compiler and crankshaft compiler seperately. But according to
   glibc bug fixing(https://sourceware.org/bugzilla/show_bug.cgi?id=14032). The
   glibc implementation of std::sqrt() (It is invoked in the generated code when
   full-compiler is used.) will change since glibc 2.19.

   In order to keep consistence of Math.sqrt translation in crankshaft compiler
   and the pass of mjsunit/regress/regress-sqrt. we translate the Math.sqrt func
   by calling the runtime function.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:39:05 +00:00
Jacob.Bramley@arm.com
89ee8ec1b1 [turbofan] add some simplifications in the machine operator reducer
Simplify the '+', '-' and '%' operators with some basic constants (0, 1 or NaN).

R=titzer@chromium.org, bmeurer@chromium.org, titzer@google.com

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:30:17 +00:00
ishell@chromium.org
40a9b4363e ArrayConcat regression recover after r20312 (appeared on dromaeo benchmarks).
BUG=chromium:358561
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:22:24 +00:00
dslomov@chromium.org
7e44408fc6 Stores and compound assignments for named super properties.
R=ishell@chromium.org, arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:16:24 +00:00
dcarney@chromium.org
d3a021bbe0 [turbofan] add new x64 addressing modes
R=bmeurer@chromium.org, titzer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:11:03 +00:00
yangguo@chromium.org
ad24cdae72 Do not serialize non-lazy compiled function literals.
... and some small refactorings.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:53:22 +00:00
dcarney@chromium.org
0ae4c7d6b6 build fix - add missing inl include
TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:48:05 +00:00
dslomov@chromium.org
ef14bcfebe Revert "Convert obj ToObject in Object.keys()"
This reverts commit r24260 for breaking test262 tests.

TBR=arv@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:30:41 +00:00
dcarney@chromium.org
5d0e9a2496 [turbofan] basic block profiler
R=titzer@chromium.org, mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
yangguo@chromium.org
667f15a104 Fix serializing ICs.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:14:05 +00:00
yangguo@chromium.org
3ef16353ba Move string-related runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:08:15 +00:00
dslomov@chromium.org
4e116f383b Convert obj ToObject in Object.keys()
BUG=v8:3587
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:07:16 +00:00
dcarney@chromium.org
3968db68e8 initialize v8 early in unittests
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 14:17:03 +00:00
mstarzinger@chromium.org
28e733e7d0 Extend JSBuiltinReducer to cover Math.abs as well.
R=titzer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathAbs

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 14:06:56 +00:00
ishell@chromium.org
4a9feef3d8 Disable job-based sweeping in predictable mode.
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 13:59:48 +00:00
machenbach@chromium.org
133a7a8647 Let test driver fail if test executable can't list the tests.
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 13:46:22 +00:00
mstarzinger@chromium.org
36fdb24773 Remove deprecated ifdef from flag definitions.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 12:02:11 +00:00
marja@chromium.org
cc2c6e6339 Script streaming: fix split UTF-8 character handling.
Invalid UTF-8 data can contain too many characters which look like they're part
of a multi-byte character, and that was overflowing a buffer.

BUG=chromium:417891
LOG=n

.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:17:31 +00:00
loislo@chromium.org
b9583b5f98 String::NewExternal should not crash the renderer.
The blink may pass a very long string to v8
for making a handle to it. v8 has max string length
limit and creates exception. But NewExternal code does not
check that the handle is null and crashes the renderer.

With the fix the js code receives the exception.

BUG=414615
LOG=N
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:14:09 +00:00
bmeurer@chromium.org
9372ecc861 Blacklist mjsunit/compare-known-objects-slow as well.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 10:43:01 +00:00
machenbach@chromium.org
0e7aad1cba Whitespace change for testing the new git workflow.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 10:21:16 +00:00
machenbach@chromium.org
7dcec61269 Fix resolving svn revisions in release scripts.
BUG=chromium:410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 10:16:16 +00:00
machenbach@chromium.org
b7cf053937 Fix cc feature for upload in merge script.
TBR=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 08:55:25 +00:00
machenbach@chromium.org
881f25b233 Fix git interface for merge script.
BUG=chromium:410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 08:39:03 +00:00
machenbach@chromium.org
68b817e522 Whitespace change for testing merge script.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 07:42:32 +00:00
machenbach@chromium.org
2ca1852af5 Add new git port to merge_to_branch script.
BUG=chromium:410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 07:40:09 +00:00
bmeurer@chromium.org
7099d635ee [turbofan] Reduce shl with sar/shr and same shift amount to bit-and.
The shl(sar(x, K), K) is a common pattern with typed loads/stores in
asm.js.

TEST=compiler-unittests,mjsunit/asm/int32array-unaligned
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 07:35:59 +00:00
bmeurer@chromium.org
8ff496edfb [turbofan] Drop obsolete test after r24236.
This was missing from the previous commit.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 06:52:23 +00:00
bmeurer@chromium.org
2f21ddfbfa [turbofan] GraphReducer is more "fixpointish" now.
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 06:40:07 +00:00
weiliang.lin@intel.com
31c39284ef X87: convert disassembler to use OStream.
port r24214.

original commit message:

  convert disassembler to use OStream.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 01:12:13 +00:00
mstarzinger@chromium.org
462bd09d58 Correct bailout from TurboFan for unsupported targets.
R=titzer@chromium.org
TEST=mjsunit/asm/math-fround

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 15:26:03 +00:00
machenbach@chromium.org
d092ce2c48 Refactoring: Remove unnecessary logic from push_to_trunk.
Remove some svnish things that are output-only.

BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 14:09:34 +00:00