Commit Graph

14134 Commits

Author SHA1 Message Date
ulan@chromium.org
21fb1401bd Restore saved caller FP registers on stub failure
and preserve FP registers on NotifyStubFailure.

In debug mode, clobber FP registers on each runtime call to increase
chances of catching such bugs.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:21:47 +00:00
machenbach@chromium.org
988eb40d70 Prepare push to trunk. Now working on version 3.23.11.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:04:04 +00:00
jkummerow@chromium.org
4235ab4653 Sync svn:ignore with .gitignore on trunk/test/* and bleeding_edge/test/*
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 09:56:59 +00:00
machenbach@chromium.org
416e82bb24 Pythonification and refactoring of push-to-trunk.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 09:48:43 +00:00
yangguo@chromium.org
565c839f2c Correctly change test expectations.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 08:40:38 +00:00
yangguo@chromium.org
a7d38f7a41 Reland: Embed trigonometric lookup table.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 08:25:50 +00:00
machenbach@chromium.org
870c32e4b1 Make auto-roll testable.
Refactor the mock code for easier reuse. Mock out web requests.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:56:00 +00:00
mvstanton@chromium.org
3c95790f32 Pretenuring calculation fields in AllocationSite.
AllocationSite-based pretenuring needs additional fields to carry out
calculations.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:34:21 +00:00
bmeurer@chromium.org
da87c188ad Rework BuildCheckString() to be compatible with the other BuildCheck*() methods.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:27:26 +00:00
yangguo@chromium.org
f822855258 Revert "Use %_IsSmi instead of %MaxSmi."
This reverts r17983.

TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 18:47:51 +00:00
yangguo@chromium.org
166b0c83e4 Use %_IsSmi instead of %MaxSmi.
ToPositiveInteger already makes sure that if l can be represented as a
smi, it will be represented as a smi.  This way we can avoid doing a
runtime call to retrieve a constant.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:55:03 +00:00
danno@chromium.org
8e266c2244 Revert 17963, 17962 and 17955: Random number generator in JS changes
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table.

Due to Heapcheck and valgrind failures that are not yet fixed.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:21:00 +00:00
ishell@chromium.org
8537e167f2 Code object now prints its major_key when applicable.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 16:55:16 +00:00
jochen@chromium.org
e257a1b38e Add clang-format configuration file and set coding style to "Google"
c.f. https://code.google.com/p/v8/wiki/Contributing

BUG=none
R=jkummerow@chromium.org, machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 16:02:31 +00:00
plind44@gmail.com
b624fc4e56 MIPS: Optimize AccessArgumentsAt.
Port r17923 (837f909)

Original commit message:
Optimize register constraints and code generated for AccessArgumentsAt Lithium instruction.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 15:15:50 +00:00
jochen@chromium.org
a9af0948cf Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc

R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=v8:3015
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
jochen@chromium.org
662dd44875 Remove preemption thread and API
BUG=v8:3004
R=svenpanne@chromium.org, yangguo@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:47:37 +00:00
yangguo@chromium.org
2340aa4164 Fix build.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:30:14 +00:00
yangguo@chromium.org
7c67e74b48 Embed trigonometric lookup table.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:57:23 +00:00
svenpanne@chromium.org
8a89306785 Use Marsaglia's original random number generator.
BUG=316359
LOG=Y
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:34:34 +00:00
svenpanne@chromium.org
bef1cb43f9 Build fix.
We should better initialize the random state even for non-snapshot
builds...

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:07:17 +00:00
svenpanne@chromium.org
2b1da67263 Implement Math.random() purely in JavaScript.
This removes tons of architecture-specific code and makes it easy to
experiment with other pseudo-RNG algorithms. The crankshafted code is
extremely good, keeping all things unboxed and doing only minimal
checks, so it is basically equivalent to the handwritten code.

When benchmarks are run without parallel recompilation, we get a few
percent regression on SunSpider's string-validate-input and
string-base64, but these benchmarks run so fast that the overall
SunSpider score is hardly affected and within the usual jitter. Note
that these benchmarks actually run even faster when we don't
crankshaft at all on the main thread (the regression is not caused by
bad code, it is caused by Crankshaft needing a few hundred microsecond
for compilation of a trivial function). Luckily, when parallel
recompilation is enabled, i.e. in the browser, we see no regression at
all!

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:55:15 +00:00
machenbach@chromium.org
4270a0f2a8 Prepare push to trunk. Now working on version 3.23.10.
R=jkummerow@chromium.org, danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:47:23 +00:00
machenbach@chromium.org
121ef80c10 Let ChangeLog get auto-generated in push-to-trunk script.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:35:25 +00:00
hpayer@chromium.org
df35c0e4d3 Do deferred migration of maps after deoptimizing once.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:16:34 +00:00
jkummerow@chromium.org
96c9095f3b Fix Windows build for real
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:59:15 +00:00
jkummerow@chromium.org
293b8f7325 Fix Windows build
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:38:51 +00:00
jkummerow@chromium.org
9318e1cc4a API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t instead
of intptr_t

This prevents an overflow in FreeArrayBuffer, which in turn caused needless GCs
as well as crashes on isolate teardown.

LOG=Y
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:06:02 +00:00
svenpanne@chromium.org
617c2dd714 Removed dead stack printing code.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 07:08:24 +00:00
plind44@gmail.com
c41ca55f72 MIPS: Improvement of “MIPS: Fixed crashes exposed though fuzzing.” (r17886).
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 19:33:50 +00:00
plind44@gmail.com
391f05aece MIPS: Use SmiTst and TrySmiTag MacroAssembler instructions.
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 19:01:33 +00:00
plind44@gmail.com
c33cbd9f37 MIPS: Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp.
Port r17925 (0b95731)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 18:22:18 +00:00
yangguo@chromium.org
e5f187995d Mark flaky debug test as failing.
The issues are known. For the time being, we mark it as failing.

R=machenbach@chromium.org
BUG=v8:2921, v8:3005
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 17:09:17 +00:00
plind44@gmail.com
29e47d1f43 MIPS: Remove the first_right_arg hack for HMod.
Port r17919 (23e9644)

Original commit message:
Generate a proper subgraph in BuildBinaryOperation instead.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 17:02:12 +00:00
jochen@chromium.org
840bc42de0 Reland r17907 - Make it possible to add more than one piece of embedder data to isolates"
This will allow for using gin and blink bindings in the same
process.

Over r17907, I changed the order of fields in Isolate to be stable across different platforms, since the ABI defined packing is not the same on
all targets, and I initialize the embedder data field in Isolate.

BUG=317398
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:16:18 +00:00
yangguo@chromium.org
42f920cfea Update benchmark test suite.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:05:52 +00:00
yangguo@chromium.org
2c7ebfa7f0 Increase precision when finding the remainder after division by pi/2.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:04:37 +00:00
yurys@chromium.org
e7511b6234 Do not recompile existing functions when enabling allocation tracking
Now that we don't have special hooks for the allocations in the generated code there is no need to recompile existing functions when enabling allocation tracking.

BUG=chromium:27798
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 14:57:39 +00:00
mvstanton@chromium.org
1e8c7c56d2 Re-enable EnsureAllocationSiteDependentCodesProcessed.
The problem was that we don't use crankshaft on non-sse2 builds.
(on ARM non-vfp3).

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 14:20:07 +00:00
mvstanton@chromium.org
b90d87c382 MaterializedLiteral expressions need to cache expression depth.
A problem arises in recursive literal expressions due to recent
changes that defer allocation of constant literal properties
from parse time. We were calculating expression depth as a
side-effect of a lazy constant property build, but subsequent
calls for the depth always returned 1. Cache the correct depth
in the MaterializedLiteral instead.

(Related-to/very-partial-revert-of
https://codereview.chromium.org/61873003)

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 14:17:47 +00:00
machenbach@chromium.org
718b38648f Force 'git cl upload' in push-to-trunk forced mode.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:53:11 +00:00
rmcilroy@chromium.org
df38e6f9a6 Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:44:24 +00:00
m.m.capewell@googlemail.com
2b1aeec591 ARM: Optimize AccessArgumentsAt
Optimize register constraints and code generated for AccessArgumentsAt
Lithium instruction.

TEST=none
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:28:19 +00:00
verwaest@chromium.org
6557c85ff4 Use SimpleLoadField for JSObjectFieldAccessors, rather than compiling a new stub.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:25:40 +00:00
danno@chromium.org
adb39abd6d Activate Hydrogen-generated KeyedLoadDictionary ICs
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:58:10 +00:00
bmeurer@chromium.org
d38abc3bba Remove the first_right_arg hack for HMod.
Generate a proper subgraph in BuildBinaryOperation instead.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:43:33 +00:00
svenpanne@chromium.org
8f88467bf6 Removed unused --preallocate-message-memory flag.
It results in a lot of dead code, and Isolate::PrintStack itself
crashes most of the time when something went wrong earlier.
Furthermore, we have plans do get better information into the
minidump, anyway.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:35:58 +00:00
bmeurer@chromium.org
4c4d911cde Convert constant numbers at compile time.
TEST=mjsunit/number-tostring
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:35:21 +00:00
jochen@chromium.org
bd09937300 Revert r17907 - Make it possible to add more than one piece of embedder data to isolates
> This will allow for using gin and blink bindings in the same process
>
> BUG=317398
> R=svenpanne@chromium.org, dcarney@chromium.org
> LOG=y
>
> Review URL: https://codereview.chromium.org/77913003

BUG=none
R=svenpanne@chromium.org
TBR=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:05:44 +00:00
bmeurer@chromium.org
defee14d76 Make BuildBinaryOperation use ReturnValue instead of ReturnInstruction.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:00:57 +00:00