jkummerow@chromium.org [Fri, 23 Mar 2012 12:20:03 +0000 (12:20 +0000)]
Fix deopt condition in ForIn on x64
TEST=no more deopts in string-fasta
Review URL: https://chromiumcodereview.appspot.com/9836032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Mar 2012 12:16:40 +0000 (12:16 +0000)]
Port count-based profiler to ARM
Review URL: https://chromiumcodereview.appspot.com/9837004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 Mar 2012 11:54:07 +0000 (11:54 +0000)]
Allow a patch file to be specified to merge-to-branch.sh
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9835048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 23 Mar 2012 11:38:40 +0000 (11:38 +0000)]
MIPS: Support arguments object access from inlined functions.
Port r11109 (
a7770bdd7c).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9808058
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Mar 2012 10:25:14 +0000 (10:25 +0000)]
Fix use of proxies as f.prototype properties.
R=mstarzinger@chromium.org
BUG=v8:2021
TEST=
Review URL: https://chromiumcodereview.appspot.com/9837008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Mar 2012 10:22:45 +0000 (10:22 +0000)]
push-to-trunk.sh: Don't send Chromium CLs to the commit queue immediately
Review URL: https://chromiumcodereview.appspot.com/9835047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Fri, 23 Mar 2012 10:14:51 +0000 (10:14 +0000)]
First implementation of fast path for instantiation of array literals composed of doubles.
Review URL: https://chromiumcodereview.appspot.com/9814006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 Mar 2012 09:51:56 +0000 (09:51 +0000)]
Make setting of accessors even more atomic.
Now the whole getter/setter/attributes triple gets created/set together,
avoiding any hacks regarding previous values/attributes, making things a lot
simpler.
While doing this, an interesting problem surfaced, which has been there for a
long time: After adding/changing acessors in slow mode, we could potentially
fail going back to fast mode because of a failed memory allocation, signaling
the need for a GC. But we have already changed the object in slow mode, so we
are not idempotent and the retry would trigger a newly inserted assertion
(namely, that the code obeys access restrictions). This has been solved by
splitting the transformation to fast mode from the actual setting of the
accessors.
Review URL: https://chromiumcodereview.appspot.com/9716035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 22 Mar 2012 13:53:28 +0000 (13:53 +0000)]
Support arguments object access from inlined functions.
R=fschneider@chromium.org
TEST=test/mjsunit/compiler/inline-arguments.js
Review URL: https://chromiumcodereview.appspot.com/9837002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 22 Mar 2012 11:05:33 +0000 (11:05 +0000)]
Soften --type-info-threshold by eventually optimizing all functions
(but waiting very long if they don't have enough type feedback).
Review URL: https://chromiumcodereview.appspot.com/9834005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11108
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 21 Mar 2012 14:29:14 +0000 (14:29 +0000)]
Enable snapshots on MIPS. This is based on
http://codereview.chromium.org/9372063 by Daniel Kalmar.
Review URL: https://chromiumcodereview.appspot.com/9722020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 21 Mar 2012 14:19:17 +0000 (14:19 +0000)]
Temporarily allow timeout for one mozilla test.
BUG=v8:2018
Review URL: https://chromiumcodereview.appspot.com/9813008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 21 Mar 2012 14:04:24 +0000 (14:04 +0000)]
Unbork Windows 64 bit build and guard against overlong UTF-8
serializations.
Review URL: https://chromiumcodereview.appspot.com/9817005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 21 Mar 2012 13:48:29 +0000 (13:48 +0000)]
Speed up WriteUtf8 in the case where the output buffer is large enough.
Review URL: https://chromiumcodereview.appspot.com/9696032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 21 Mar 2012 09:50:20 +0000 (09:50 +0000)]
Prepare push to trunk. Now working on version 3.9.24.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9814007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 21 Mar 2012 09:23:09 +0000 (09:23 +0000)]
When running with --always-opt, don't deoptimize named loads with uninitialized type feedback.
This avoids tests taking too long because of repeated deoptimizations.
Review URL: https://chromiumcodereview.appspot.com/9812004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 21 Mar 2012 08:41:16 +0000 (08:41 +0000)]
MIPS: Branch delay slot and other optimizations.
List of changes:
-added a minor optimization to the Simulator that quickly skips nops in the delay slot
-slightly re-worked CEntryStub to save a few instructions
CEntryStub now expects the following values:
-s0: number of arguments including receiver
-s1: size of arguments excluding receiver
-s2: pointer to builtin function
Two new MacroAssembler functions were added to make usage more convenient:
-PrepareCEntryArgs(int num_args) to set up s0 and s1
-PrepareCEntryFunction(const ExternalReference&) to set up s2
-removed branch delay slot nops from the most frequently used code areas
-reorganized some code to execute fewer instructions
-utilized the delay slot of most Ret instructions
This does not cover all Rets, only the most obvious cases.
Also added a special version of DropAndRet that utilizes the delay slot.
-added some comments to code areas where explanation of the register/delay slot usage may be needed
-added an optimization to Jump so it doesn't always pre-load the target register
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9699071
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 20 Mar 2012 18:15:31 +0000 (18:15 +0000)]
Use correct arguments adaptation environment when inlining function containing arguments.
R=mstarzinger@google.com
BUG=V8:2014
TEST=test/mjsunit/compile/inline-arguments.js
Review URL: https://chromiumcodereview.appspot.com/9750007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 20 Mar 2012 15:27:33 +0000 (15:27 +0000)]
Fix overly aggressive ASSERT(!optimization_disabled())
Review URL: https://chromiumcodereview.appspot.com/9748018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Tue, 20 Mar 2012 14:35:05 +0000 (14:35 +0000)]
There is a trick for speed up array shift operation.
This trick is confusing a bit the heap snapshoting code.
Such a shiffted array will be interpreted as a new array in the second snapshot.
BUG=none
TEST=HeapEntryIdsAndArrayShift
Review URL: https://chromiumcodereview.appspot.com/9748007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 20 Mar 2012 13:29:49 +0000 (13:29 +0000)]
Adjust heuristics for idle notifications after context disposal.
Review URL: https://chromiumcodereview.appspot.com/9701093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 20 Mar 2012 12:57:17 +0000 (12:57 +0000)]
Prepare push to trunk. Now working on version 3.9.23.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9748013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 20 Mar 2012 08:49:23 +0000 (08:49 +0000)]
Fix assertion failure due to too many deoptimization ids.
The failing mozilla test was caused by more deoptimizations
introduced by --always-opt and r11087.
We abort code generation in release mode, so we should do
the same in debug mode.
Review URL: https://chromiumcodereview.appspot.com/9752004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 20 Mar 2012 08:12:31 +0000 (08:12 +0000)]
Add Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS
Fix compilation failure on Win x64 builder introduced by r11084
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9748004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 19 Mar 2012 17:29:25 +0000 (17:29 +0000)]
Enable experimental profiler by default
Review URL: https://chromiumcodereview.appspot.com/9726004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Mar 2012 16:28:18 +0000 (16:28 +0000)]
Mark invalid Test262 test cases correctly.
R=ulan@chromium.org
TEST=test262/S15.9.3.1_A5_T?
Review URL: https://chromiumcodereview.appspot.com/9719036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 19 Mar 2012 15:54:37 +0000 (15:54 +0000)]
Insert explicit deoptimization for named loads that have "uninitialized" type feedback.
We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also
be in "uninitialized" state which means that the corresponding load IC was never executed.
Review URL: https://chromiumcodereview.appspot.com/9722041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Mar 2012 12:22:56 +0000 (12:22 +0000)]
Temporary disable Test262 tests failing on buildbot.
R=jkummerow@chromium.org
TEST=test262/S15.9.3.1_A5_T?
Review URL: https://chromiumcodereview.appspot.com/9724034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 19 Mar 2012 12:09:22 +0000 (12:09 +0000)]
When transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.
Otherwise if function is optimized immediately after transition type oracle will be unable to gather enough maps from stub cache and graph builder will emit HLoadNamedGeneric instead of HLoadNamedPolymorphic.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9705102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 19 Mar 2012 12:08:20 +0000 (12:08 +0000)]
Implement a hash based look-up to speed up containing address check in large
object space. Before, it was a link-list based look-up, and make this function
a little bit 'hot' from profile point.
BUG=v8:853
TEST=
Review URL: https://chromiumcodereview.appspot.com/9634005
Patch from Zhongping Wang <kewpie.w.zp@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 19 Mar 2012 10:22:38 +0000 (10:22 +0000)]
Prepare push to trunk. Now working on version 3.9.22.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9724031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 19 Mar 2012 10:16:38 +0000 (10:16 +0000)]
Fix FLAG_always_opt and tools/push-to-trunk.sh
TEST=tests with --always-opt don't ASSERT; push to trunk workflow works.
Review URL: https://chromiumcodereview.appspot.com/9718035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 19 Mar 2012 09:51:36 +0000 (09:51 +0000)]
Add API call that identifies strings that are guaranteed
only to contain ASCII characters.
Review URL: https://chromiumcodereview.appspot.com/9724022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 19 Mar 2012 09:47:46 +0000 (09:47 +0000)]
Prepare push to trunk. Now working on version 3.9.21.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9716030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 19 Mar 2012 08:44:44 +0000 (08:44 +0000)]
Mark Code objects as not optimizable if their FunctionLiteral contains unoptimizable AST nodes.
This ensures that we never try to optimize such functions.
Review URL: https://chromiumcodereview.appspot.com/9700062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 19 Mar 2012 07:51:37 +0000 (07:51 +0000)]
Re-enable constructor inlining and inline === comparison with boolean constants.
This change reverts r10974 which disabled those two optimizations.
They were not responsible for the problem in earley-boyer.
BUG=v8:2009
Review URL: https://chromiumcodereview.appspot.com/9699117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 19 Mar 2012 07:45:06 +0000 (07:45 +0000)]
Revert dynamic frame alignment (r9415)
Marking aligned frames with a marker can produce false positives since
an optimized frame spill slot may be mistakenly seen as a marker value.
It also breaks the debugger reproducably: Tested when enabling alignment
for all functions and running the debugger unit tests.
BUG=v8:2009
TEST=no crashes in EarleyBoyer
Review URL: https://chromiumcodereview.appspot.com/9703110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Mar 2012 16:18:20 +0000 (16:18 +0000)]
MIPS: Properly initialize element-transitioning array literals on ARM.
Port r10624 (172d021).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9689010
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Mar 2012 16:04:01 +0000 (16:04 +0000)]
Fix bugs in tools/merge-to-branch.sh
Fail if patches fail to apply and correctly match branches in delete_branch().
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9701102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Mar 2012 14:33:55 +0000 (14:33 +0000)]
Fix test harness to not break on aborts.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9706100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 16 Mar 2012 14:13:22 +0000 (14:13 +0000)]
Record the addresses of pages that are unmapped to aid
in post mortem crash dump analysis.
Review URL: https://chromiumcodereview.appspot.com/9700061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Mar 2012 13:59:59 +0000 (13:59 +0000)]
Use CopyElements for SetFastDoubleElementsCapacityAndLength
Review URL: https://chromiumcodereview.appspot.com/9663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 16 Mar 2012 13:52:43 +0000 (13:52 +0000)]
Switch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace::Size.
This would allow us to get more precise estimate of heap fragmentation on OOM.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9700096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Mar 2012 13:43:04 +0000 (13:43 +0000)]
Add flag to always call DebugBreak on abort
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9706097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Mar 2012 17:21:42 +0000 (17:21 +0000)]
Experimental profiler: split RegExp.test() for better optimization.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9701064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 15 Mar 2012 17:13:50 +0000 (17:13 +0000)]
More fixes for V8 benchmark version 7.
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9701067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 15 Mar 2012 16:57:10 +0000 (16:57 +0000)]
Update revision.html for V8 benchmark version 7.
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9702078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Mar 2012 15:01:59 +0000 (15:01 +0000)]
Fix clang template weirdness.
TBR=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9710001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Mar 2012 14:38:45 +0000 (14:38 +0000)]
Fix minor inconsistency with inline function list.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
pfeldman@chromium.org [Thu, 15 Mar 2012 14:17:22 +0000 (14:17 +0000)]
Debugger: naive implementation of "step into Function.prototype.bind".
Review URL: https://chromiumcodereview.appspot.com/9705018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Mar 2012 13:02:21 +0000 (13:02 +0000)]
Fix declarations escaping global strict eval.
According to ES5 10.4.2(3), eval calls of strict code always require
their own lexical and variable environment. For now we just add a new
scope when we parse the strict mode directive. The clean solution would
be to always have this sope present (even for global eval calls) and
adapt variable binding to cope with that.
R=rossberg@chromium.org
BUG=v8:1624
TEST=mjsunit/regress/regress-1624,test262/S10.4.2.1_A1
Review URL: https://chromiumcodereview.appspot.com/9703021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 15 Mar 2012 12:29:20 +0000 (12:29 +0000)]
MIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.
Port r11008 (
f7a04e6f9).
Original commit message:
Support arguments materialization after deoptimization in all frames (not only in topmost one).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9677053
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 15 Mar 2012 12:21:29 +0000 (12:21 +0000)]
Improve representation inference for HUnknownOSRValue.
Use corresponding phi from the loop entry as a hint to infer proper representation for HUnkownOSRValue and dependent phis.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9704012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
pfeldman@chromium.org [Thu, 15 Mar 2012 11:51:26 +0000 (11:51 +0000)]
Debugger: add ability to set script source from within OnBeforeCompile.
Review URL: https://chromiumcodereview.appspot.com/9677043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 15 Mar 2012 09:52:48 +0000 (09:52 +0000)]
Don't use an explicit s0 in ClampDoubleToUint8.
R=fschneider@chromium.org
BUG=v8:2004
TEST=test/mjsunit/pixel-array-rounding.js
Review URL: https://chromiumcodereview.appspot.com/9702027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Mar 2012 09:28:49 +0000 (09:28 +0000)]
Fixed breakage caused by r11051 on non-ia32 platforms.
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Mar 2012 07:13:46 +0000 (07:13 +0000)]
Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property.
To do this, we collect all accessor properties in a first pass and emit code for
defining those properties afterwards in a second pass.
As a finger exercise, the table used for collecting accessors has a (subset of
an) STL-like iterator interface, including STL-like names and operators.
Although C++ is quite verbose here (as usual, but partly this is caused by our
current slightly clumsy classes/templates), things work out quite nicely and it
cleans up some confusion, e.g. a table entry is not an iterator etc.
Everything compiles into very efficient code, e.g. the loop condition 'it !=
accessor_table.end()' compiles into a single 'testl' instruction on ia32.
+1 for using standard APIs!
Review URL: https://chromiumcodereview.appspot.com/9691040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 17:42:19 +0000 (17:42 +0000)]
Fix wrapping of receiver for non-strict callbacks.
R=rossberg@chromium.org
BUG=v8:1973
TEST=mjsunit/regress/regress-1973
Review URL: https://chromiumcodereview.appspot.com/9705020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Mar 2012 17:25:01 +0000 (17:25 +0000)]
Fix --use-strict flag in combination with --harmony[-scoping].
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9706025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Mar 2012 16:16:46 +0000 (16:16 +0000)]
Remove write barriers for raw smi accessors.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9702026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:52:52 +0000 (14:52 +0000)]
Fix passing of shard options in test wrapper.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9702022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:08:36 +0000 (14:08 +0000)]
Remove unused local variable after r11023.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Mar 2012 13:51:00 +0000 (13:51 +0000)]
Function declarations shall not overwrite read-only global properties.
R=mstarzinger@chromium.org
BUG=115452
TEST=mjsunit/regress/regress-115452
Review URL: https://chromiumcodereview.appspot.com/9696035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 14 Mar 2012 13:21:44 +0000 (13:21 +0000)]
Increase executable size limit.
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 14 Mar 2012 12:59:49 +0000 (12:59 +0000)]
Don't take UnkownOSRValues into account when infering Phi's representation.
For DIV with uninitialized result assume double result representation.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9664070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 11:08:06 +0000 (11:08 +0000)]
Prepare push to trunk. Now working on version 3.9.20.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 14 Mar 2012 10:19:37 +0000 (10:19 +0000)]
Avoid implicit bool->int cast in CollectAllGarbage call
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 14 Mar 2012 09:45:17 +0000 (09:45 +0000)]
Change --hydrogen-filter to allow specifying a negative filter for optimized functions.
When prepending a '-' to the function name, the function will not be optimized.
--hydrogen-filter=foo works as before.
--hydrogen-filter=-foo means don't optimize foo.
Review URL: https://chromiumcodereview.appspot.com/9691042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 18:03:00 +0000 (18:03 +0000)]
Fix common.gypi after r11032
TBR=yangguo@chromium.org
TEST=Win Reliability Builder stops complaining
Review URL: https://chromiumcodereview.appspot.com/9693052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 17:19:24 +0000 (17:19 +0000)]
Fix test.py for Python 2.7.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695053
Patch from Bert Belder <bertbelder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 16:18:30 +0000 (16:18 +0000)]
MIPS: Added support for Loongson architectures.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9692048
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 15:57:31 +0000 (15:57 +0000)]
Fix "already merging" safety check in merge-to-branch.sh
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9689062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 15:44:19 +0000 (15:44 +0000)]
Split up String.split to deal with normal separator and regexp separator separately.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexeif@chromium.org [Tue, 13 Mar 2012 15:42:26 +0000 (15:42 +0000)]
Store entry id as 32-bit int.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 13 Mar 2012 14:45:03 +0000 (14:45 +0000)]
Always create HArgumentsObject on function entry.
We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.
R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js
Review URL: https://chromiumcodereview.appspot.com/9692046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 13 Mar 2012 12:11:46 +0000 (12:11 +0000)]
Implement non-generic stores for object literals.
This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9692036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)]
Ensure there is a smi check of the receiver for global load and call ICs.
There was a comment that, for such ICs specialized to the global object,
they were always contextual loads. This is very brittle. It is a
micro-optimization that relies too much on the way that things happen to
work today.
Instead, never omit the smi check because it's safer.
R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js
Review URL: https://chromiumcodereview.appspot.com/9691038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 11:38:37 +0000 (11:38 +0000)]
Experimental Profiler: tweak type info threshold.
Also included: simplify String.slice.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 11:01:28 +0000 (11:01 +0000)]
Fix DEPS file patching in push-to-trunk.sh
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9693037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 13 Mar 2012 11:01:07 +0000 (11:01 +0000)]
Add type feedback info type to instance type list macro.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9694032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 08:07:35 +0000 (08:07 +0000)]
Prepare push to trunk. Now working on version 3.9.19.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9696030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 17:15:13 +0000 (17:15 +0000)]
Remove static Mutex from math function intializers.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9662064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 16:10:53 +0000 (16:10 +0000)]
Use lazy instance initializer to remove static initializers in two places.
Review URL: https://chromiumcodereview.appspot.com/9664067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 15:26:05 +0000 (15:26 +0000)]
Fix compile warning on 64 bit Windows.
Review URL: https://chromiumcodereview.appspot.com/9690019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 14:56:04 +0000 (14:56 +0000)]
Ensure consistency of Math.sqrt on Intel platforms.
BUG=
TEST=regress-sqrt.js
Review URL: https://chromiumcodereview.appspot.com/9690010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 14:41:59 +0000 (14:41 +0000)]
Fix broken build on Win32 due to r11010.
Review URL: https://chromiumcodereview.appspot.com/9666055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 13:56:56 +0000 (13:56 +0000)]
Landing for pliard@chromium.org: Remove static initializers in v8.
This change includes two CLs by pliard@chromium.org:
1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):
Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).
This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/
2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.
With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL.
This CL also modifies the presubmit script to check the number of static initializers.
BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 13:18:30 +0000 (13:18 +0000)]
Unbreak Windows build after UTF-16 change (sys/types.h does not define
int32_t on Windows).
Review URL: https://chromiumcodereview.appspot.com/9669051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 12 Mar 2012 12:49:41 +0000 (12:49 +0000)]
Inline functions that use arguments object in f.apply(o, arguments) pattern.
Support arguments materialization after deoptimization in all frames (not only in topmost one).
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9643001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 12:35:28 +0000 (12:35 +0000)]
Fix input and output to handle UTF16 surrogate pairs.
Review URL: https://chromiumcodereview.appspot.com/9600009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 12 Mar 2012 12:17:46 +0000 (12:17 +0000)]
Fix missing initialization of mark-compact flags.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9662056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Mar 2012 10:35:50 +0000 (10:35 +0000)]
Add explicit dependency on v8_base
This is necessary in order to link v8_shell (for host) with the Android
toolchain.
Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a
Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a
and it successfully links.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 09:39:12 +0000 (09:39 +0000)]
Fix heuristic triggering incremental marking.
This changes the heuristic that starts incremental marking to be based
on a more accurate heap size estimation. Pages being swept lazily can be
accounted using the live bytes counter.
R=mstarzinger@chromium.org
BUG=v8:1682
Review URL: https://chromiumcodereview.appspot.com/9674001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 12 Mar 2012 08:46:25 +0000 (08:46 +0000)]
MIPS: Port Date-related changes.
Port r10981 (5ea074), r10982 (5f0d413) and r10983 (
663a897d5).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9668045
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 08:24:10 +0000 (08:24 +0000)]
MIPS: Inline inequality compares of strings into CompareICStub
Port r10988 (
c6c9ebb5).
Original commit message:
Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9669026
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Mar 2012 08:15:43 +0000 (08:15 +0000)]
Prepare push to trunk. Now working on version 3.9.18.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9690004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 15:04:50 +0000 (15:04 +0000)]
V8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than 2Gb.
BUG=none
TEST=profile-generator tests
Review URL: https://chromiumcodereview.appspot.com/9632020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 07:35:21 +0000 (07:35 +0000)]
Style fix after reapplying the patch r10996.
BUG=none
TEST=none
TBR=mikhail.naganov@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9664042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 07:02:19 +0000 (07:02 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.
BUG=none
TEST=profiler-generator tests
Review URL: https://chromiumcodereview.appspot.com/9617006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 06:12:10 +0000 (06:12 +0000)]
Revert "We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array."
This reverts commit
8c08ecc2782d5a8c60eb0692ec8f13d6da3cdc58.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9666038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00