ulan@chromium.org
6a4d5b4228
Invalidate embedded objects in optimized code if it was marked for deoptimization.
...
It avoids having dead pointers in code from the time it was marked for deoptimization until it is deoptimized.
BUG=320532,v8:2996
TEST=mjsunit/regress/regress-320532.js
LOG=Y
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/61213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:10:31 +00:00
jochen@chromium.org
c0c5efb9e7
Remove usage of deprecated APIs from cctests
...
Also turn on deprecation warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:43:17 +00:00
rossberg@chromium.org
6aec0d39ae
Minor clean-up of Type::Print
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/75423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:38:49 +00:00
jochen@chromium.org
709010dead
Remove usage of deprecated APIs from d8
...
Also turn on deprecation warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:35:39 +00:00
jochen@chromium.org
a294defe9b
Remove usage of deprecated APIs from v8 itself
...
Also turn on depreaction warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:28:58 +00:00
jochen@chromium.org
686616e4de
Remove usage of deprecated APIs from samples
...
Also turn on deprecation warnings for samples
BUG=v8:3023
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:26:00 +00:00
yangguo@chromium.org
de432db19a
Exclude benchmark tests from presubmit check in a non-git checkout.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/83353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:21:43 +00:00
bmeurer@chromium.org
7158b51125
Fix combined string length computation.
...
For 31-bit smis, we don't need to explicitly check whether the
combined string length exceeds the max supported string length,
since the value must be converted to a smi at some point (i.e.
when it is stored into the string length field of the resulting
string), which will emit an overflow check.
For 32-bit smis, we insert an explicit check that the combined
string length does not exceed String::kMaxLength.
This also enables to get rid of the JoinContinuation() usage in
BuildUncheckedStringAdd().
BUG=v8:2990
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/82733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:03:01 +00:00
bmeurer@chromium.org
08df395f4e
Get rid of the binop_stub parameter to BuildBinaryOperation().
...
Just ask the graph builder whether we are compiling a stub.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/83073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 11:49:04 +00:00
svenpanne@chromium.org
b6b84c02b2
Reland "Implement Math.random() purely in JavaScript" plus fixes.
...
The main change is that a bit has been added to array buffers to
signal that the backing store has to be freed when the buffer dies.
BUG=316359
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/82763005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 11:35:39 +00:00
jochen@chromium.org
4452341b55
Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
...
We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.
BUG=v8:3023
R=dcarney@chromium.org , machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/82763004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:57:55 +00:00
yangguo@chromium.org
3acd5dcdce
Dispose external string resource on heap teardown.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/83253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:52:15 +00:00
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