yangguo@chromium.org [Mon, 23 Jun 2014 11:47:20 +0000 (11:47 +0000)]
Run JS micro tasks in the appropriate context.
R=jochen@chromium.org
BUG=385349
LOG=Y
Review URL: https://codereview.chromium.org/
332923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 23 Jun 2014 11:27:24 +0000 (11:27 +0000)]
[Arm] Various cleanups to the Arm assembler backend.
A couple of cleanups to the Arm backend to enable support of extended
OOL constant pools in a following CL.
- Remove instruction pattern extern const's and replace their use with IsXXX()
functions.
- Do calculation of the target address of a load from constant pool in one
place.
- A couple of other small cleanups.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
317653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 10:44:08 +0000 (10:44 +0000)]
Tiny cleanup, reduce direct usage of the LookupIterator
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
346233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 10:42:49 +0000 (10:42 +0000)]
Don't bypass the global proxy as the global object should never escape into JS
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
334233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 10:35:58 +0000 (10:35 +0000)]
Ensure the receiver for EnableAccessCheck is always a JSObject
BUG=
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
349923005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 23 Jun 2014 10:31:12 +0000 (10:31 +0000)]
Revert "Partial revert of r21901"
This reverts r21927.
Reason: broke the build.
BUG=
TBR=jochen@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
347423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21928
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 23 Jun 2014 10:18:43 +0000 (10:18 +0000)]
Partial revert of r21901
Only disable runtime check for sse2 if __SSE2__ is not defined. This
is required for the x87 port
BUG=none
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
350693005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 09:52:05 +0000 (09:52 +0000)]
Turn assert into RUNTIME_ASSERT
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
350683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21926
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 23 Jun 2014 09:46:58 +0000 (09:46 +0000)]
Add a use counter API
This lets embedders track certain features of v8 and the number of times
they are used
BUG=none
R=svenpanne@chromium.org, marja@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
346233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21925
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Mon, 23 Jun 2014 09:30:45 +0000 (09:30 +0000)]
ARM64: updated literal pool implementation.
Currently the literal pool implemetation is inherited from the arm 32-bit port
and it shares the same limitations: 4k of range and 1000 entries max. In arm64
the load literal has a 1MB range giving us more flexibility.
Immutable entries are now shared.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
338523005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21924
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Mon, 23 Jun 2014 09:17:04 +0000 (09:17 +0000)]
X87: Introduce intrinsic to expose debug state to generated code.
port r21908.
original commit message:
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
349183002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21923
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 09:11:45 +0000 (09:11 +0000)]
Remove specialized access checks and overwrites altogether. They are already handled by GetOwnPropertyAttributes (and GetPropertyAttributesWithFailedAccessChecks)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
331693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21922
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 23 Jun 2014 09:09:36 +0000 (09:09 +0000)]
Simplify Object::GetElementWithReceiver
Don't inline GetPrototype() to avoid code duplication
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
331313010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21921
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 23 Jun 2014 09:09:05 +0000 (09:09 +0000)]
Re-land "Clusterfuzz identified overflow check needed in dehoisting."
BUG=380092
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
335063005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 09:04:17 +0000 (09:04 +0000)]
Simplify {Enable|Disable}AccessCheck
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
334243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 09:02:16 +0000 (09:02 +0000)]
Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
332863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jun 2014 08:53:27 +0000 (08:53 +0000)]
Simplify access checks performed by GetOwnProperty
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
339553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 23 Jun 2014 08:51:13 +0000 (08:51 +0000)]
Make our FOO::cast methods const.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
347073003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 23 Jun 2014 08:50:54 +0000 (08:50 +0000)]
An object should only be promoted to the old generation if it survived a scavenge operation.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
345523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 23 Jun 2014 08:47:07 +0000 (08:47 +0000)]
Revert "Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel."
This reverts r21909.
Reason: breaks NaCL build.
BUG=
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
346223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 23 Jun 2014 08:19:54 +0000 (08:19 +0000)]
Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.
This is similar to https://codereview.chromium.org/
342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.
BUG=368384 possibly?
LOG=Y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
346643002
Patch from Nico Weber <thakis@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jun 2014 07:10:25 +0000 (07:10 +0000)]
Introduce intrinsic to expose debug state to generated code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
332673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 23 Jun 2014 05:50:06 +0000 (05:50 +0000)]
Add missing map check to optimized f.apply(...)
This is a cutdown version of https://codereview.chromium.org/
346473002/, which aimed to fix f.call and f.apply. Optimized f.call was removed by r21887, this is what was left.
BUG=386034
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
348623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 20 Jun 2014 23:02:36 +0000 (23:02 +0000)]
MIPS: Fix big-endian after r21774/r21803.
Fix big-endian ordering of InstanceType and BitField by always loading
the pair as a 16-bit value, even in the API accessor. Clean up some
assertions.
R=danno@chromium.org, mtbrandy@gmail.com
Review URL: https://codereview.chromium.org/
334403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 20 Jun 2014 20:52:57 +0000 (20:52 +0000)]
MIPS: Support LiveEdit.
Port r21895 (210f7aa)
BUG=368580
LOG=Y
R=jkummerow@chromium.org, palfia@homejinni.com
Review URL: https://codereview.chromium.org/
349703002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 20 Jun 2014 20:36:49 +0000 (20:36 +0000)]
MIPS: Make object accessors more const-correct.
Port r21897 (1b152ae)
Fix MIPS implementation of READ_DOUBLE_FIELD() to use const parameter.
Original commit message:
Getting closer to making our IsFOO and FOO::cast methods
const-correct...
BUG=
R=gergely@homejinni.com, jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
344203005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 20 Jun 2014 15:40:21 +0000 (15:40 +0000)]
Array.concat: properly go to dictionary mode when required
BUG=chromium:387031
LOG=y
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
342333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Fri, 20 Jun 2014 14:27:55 +0000 (14:27 +0000)]
Fix stack capture on overflow for Error.stackTraceLimit == Infinity
Bug found by Andrew Paprocki <andrew@ishiboo.com>.
R=mstarzinger@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
345533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 20 Jun 2014 12:58:48 +0000 (12:58 +0000)]
Clean up unused stuff in atomicops_internals_{tsan,x86_gcc}.h
This ports crrev.com/278081 and crrev.com/271506 to V8.
R=glider@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
342323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 20 Jun 2014 12:28:13 +0000 (12:28 +0000)]
test-parsing: Add functionality to specify "always true flags".
Many parsing tests need to pin a certain flag, and apart from the pinned flag,
we want to keep the "test with all combinations" behavior for the non-pinned
flags.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
349603004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Fri, 20 Jun 2014 11:26:17 +0000 (11:26 +0000)]
ARM: Avoid duplicate vmla when merging vmul and vadd
Avoid generating duplicate vmla instructions for vmul/vadd sequences where the
vmul has more than one use.
For example: function f(a, b, c) { return (a * b) + c + (a * b); }
Previously, this would produce a vmul for the subexpression (a * b), then vmla
for (a * b) + c, then vmla for (a * b) + [(a * b) + c].
Now it produces vmul, vadd, vadd, as expected.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
323423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 20 Jun 2014 10:47:50 +0000 (10:47 +0000)]
Remove obsolete --harmony-promises flag from tests.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
345053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 Jun 2014 10:31:17 +0000 (10:31 +0000)]
Make object accessors more const-correct.
Getting closer to making our IsFOO and FOO::cast methods const-correct...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
349623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 20 Jun 2014 09:45:05 +0000 (09:45 +0000)]
Parser: Refactor strict mode checks for functions
Moves the strict mode checks and error reporting for the function and
parameter names into a separate CheckStrictFunctionNameAndParameters()
function in ParserBase. Parsing of arrow functions will then use this
new function instead of duplicating the error code.
BUG=
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
332053004
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Fri, 20 Jun 2014 09:41:14 +0000 (09:41 +0000)]
Support LiveEdit on ARM
BUG=368580
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
344573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 20 Jun 2014 08:40:11 +0000 (08:40 +0000)]
Check alpha-sorting of includes during presubmit.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 20 Jun 2014 07:44:05 +0000 (07:44 +0000)]
Added Message::GetScripOrigin.
Replaced Message::GetResourceName with GetScriptOrigin().ResourceName().
Now, GetScriptOrigin().ResourceName() function returns the resource name or sourceURL (from //# sourceURL=) for the script from where the function causing the error originates.
Method GetScriptResourceName() deprecated. Use GetScriptOrigin()->ResourceName() instead.
Blink: https://codereview.chromium.org/260513004/
R=yangguo@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
265593002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 20 Jun 2014 07:35:48 +0000 (07:35 +0000)]
--verify-predictable mode added for ensuring that GC behaves deterministically.
In order to be able to use it one should pass verifypredictable=on to the make tool or specify v8_enable_verify_predictable=1 in GYP_DEFINES.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
325553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 Jun 2014 07:20:44 +0000 (07:20 +0000)]
Make the internal parts of our external API a bit more const-correct.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
343583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 18 Jun 2014 14:04:41 +0000 (14:04 +0000)]
Revert "Optimize Function.prototype.call"
This reverts commit r21840.
R=danno@chromium.org
LOG=y
BUG=chromium:385565
Review URL: https://codereview.chromium.org/
347573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 18 Jun 2014 13:26:02 +0000 (13:26 +0000)]
Move invalid string length check to the factory.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
347503003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 18 Jun 2014 11:17:52 +0000 (11:17 +0000)]
Fix LStoreCodeEntry to treat the code_object parameter as input.
The bug seems to trigger only with array_index_dehoisting off in
the snapshot, so it is hard to test for (ideas?).
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
347523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 18 Jun 2014 11:05:31 +0000 (11:05 +0000)]
IC misses should not count towards execution pauses in plots.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
345543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Jun 2014 11:01:54 +0000 (11:01 +0000)]
Add safe numerics classes, imported from Chromium.
Not used for anything yet.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
336183003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Wed, 18 Jun 2014 07:30:56 +0000 (07:30 +0000)]
Revert "Parser: Delay internalizing strings and values." (r21841)
Plus the fixes on top.
Reason: regresses benchmarks (JSBench) and perf (morejs).
TBR=rossberg@chromium.org
BUG=385404
LOG=N
Review URL: https://codereview.chromium.org/
345513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 18 Jun 2014 03:31:30 +0000 (03:31 +0000)]
X87: Interrupts must not mask stack overflow.
port r21874
original commit message:
Interrupts must not mask stack overflow.
BUG=385002
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
336413009
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kilvadyb@homejinni.com [Tue, 17 Jun 2014 17:06:08 +0000 (17:06 +0000)]
MIPS: Interrupts must not mask stack overflow.
Port r21874 (bfea2c0)
BUG=385002
LOG=N
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 17 Jun 2014 16:27:19 +0000 (16:27 +0000)]
Untangle RNG from v8 core
This will allow for using the RNG from platform files without depending on
isolates.
BUG=none
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
333053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 17 Jun 2014 15:34:03 +0000 (15:34 +0000)]
MIPS: update owners.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
334153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 17 Jun 2014 15:22:38 +0000 (15:22 +0000)]
Drop obsolete ES6 TODOs about activating extended mode.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
338363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 17 Jun 2014 14:24:19 +0000 (14:24 +0000)]
Remove unnecessary virtual methods in the serializer.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
339103005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 17 Jun 2014 14:10:16 +0000 (14:10 +0000)]
Rename arguments object support functions to new scheme.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
338883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 17 Jun 2014 13:54:49 +0000 (13:54 +0000)]
Interrupts must not mask stack overflow.
R=jarin@chromium.org
BUG=385002
LOG=N
Review URL: https://codereview.chromium.org/
339883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 17 Jun 2014 13:22:34 +0000 (13:22 +0000)]
Reduce number of writes to DependentCode array when inserting dependent IC.
BUG=305878
LOG=Y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
339843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 17 Jun 2014 11:48:37 +0000 (11:48 +0000)]
Fix: AstValueFactory must be internalized before ThrowPendingError.
R=rossberg@chromium.org
BUG=385193
LOG=N
Review URL: https://codereview.chromium.org/
335373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 17 Jun 2014 08:20:12 +0000 (08:20 +0000)]
Do GC if CodeRange fails to allocate a block.
BUG=305878
LOG=Y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
332373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 17 Jun 2014 07:23:26 +0000 (07:23 +0000)]
Throw syntax error when a getter/setter has the wrong number of params
We used to allow any number of parameters in getters and setters to
match JSC. This is a violation of ES5.1 and both SpiderMonkey and
Chakra throw on these syntax errors.
BUG=v8:3371
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
329413002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 17 Jun 2014 06:10:43 +0000 (06:10 +0000)]
Revert "Grow big old generation slower.", tanks SplayHarder.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
331393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 16 Jun 2014 13:43:50 +0000 (13:43 +0000)]
Do not eliminate bounds checks for "<const> - x".
Before this change, bounds check elimination treated "<const> - x" as
"x - <const>".
R=yangguo@chromium.org
BUG=385054
TEST=test/mjsunit/regress/regress-385054.js
LOG=N
Review URL: https://codereview.chromium.org/
339583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 16 Jun 2014 13:21:42 +0000 (13:21 +0000)]
Add unit test for regression in GVN caused by field type tracking.
BUG=v8:3347
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
333273004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 16 Jun 2014 13:03:59 +0000 (13:03 +0000)]
Revert "GVN fix, preventing loads hoisting above stores to the same field when HObjectAccess's representation is not the same."
This reverts commit r21830 for tanking performance on Deltablue.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
336223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 16 Jun 2014 10:42:39 +0000 (10:42 +0000)]
Reuse AstValueFactory when optimizing.
HOptimizedGraphBuilder::TryInline creates a temporary CompilationInfo and
destroys it, but we don't want the AstValueFactory to be destroyed at the same
time. Reuse the upper CompilationInfo's AstValueFactory.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
334173003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 16 Jun 2014 08:41:29 +0000 (08:41 +0000)]
Fix representation of Phis for mutable-heapnumber-in-object-literal properties
BUG=v8:3392
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
328343004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 13 Jun 2014 16:56:50 +0000 (16:56 +0000)]
Fix x87 compile
TBR=marja@chormium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
337713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 13 Jun 2014 16:43:27 +0000 (16:43 +0000)]
Remove dependency on Vector from platform files
Add wrappers to utils.h instead.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
328343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 13 Jun 2014 15:08:57 +0000 (15:08 +0000)]
Fix windows build (size_t vs. int) some more.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
336803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 13 Jun 2014 14:24:56 +0000 (14:24 +0000)]
Fix windows build (size_t vs. int).
Sadly, Vector ctor takes an argument "int length".
TBR=dcarney@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
334903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 13 Jun 2014 13:45:49 +0000 (13:45 +0000)]
Fix gn build.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
338553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 13:39:01 +0000 (13:39 +0000)]
Fix clang build after r21839
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
330793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 13 Jun 2014 13:31:56 +0000 (13:31 +0000)]
Parser: Delay internalizing strings and values.
This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
314603004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 13 Jun 2014 12:52:23 +0000 (12:52 +0000)]
Optimize Function.prototype.call
- May inline the function, or call it directly, instead of going through call
- Supports arguments object escaping when it escapes to builtins (preparation for slice.call(arguments, ...) optimization)
- Both .call and .apply now support inlining when calling builtins indirectly
BUG=
R=verwaest@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
335683002
Patch from Petka Antonov <p.antonov@partner.samsung.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 12:19:04 +0000 (12:19 +0000)]
Have one, long-lived map for bound functions.
This avoids creating a new map for every bound function. Bonus: some cleanup in Runtime_FunctionBindArguments.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
335653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 12:12:42 +0000 (12:12 +0000)]
Keep maps when resetting elements.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
335553004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 Jun 2014 11:06:42 +0000 (11:06 +0000)]
Reland "Rename kIs64BitArch with kRequiresCodeRange."
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
331823002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 11:02:34 +0000 (11:02 +0000)]
Remove one more arch-specific target name.
One more target had the architecture added to its name since r14209
originally landed and was missed when that change was reverted. Remove
the architecture from v8_libbase as well.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
334793004
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 Jun 2014 10:50:11 +0000 (10:50 +0000)]
Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
This should unbreak things on the Raspberry Pi.
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
331803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 09:59:39 +0000 (09:59 +0000)]
Allow all Names to be fast property names
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
329393005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Jun 2014 09:46:29 +0000 (09:46 +0000)]
Use generic representation when normalizing boilerplate properties
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
323403008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 13 Jun 2014 09:07:56 +0000 (09:07 +0000)]
Mark timed range in the profile plot.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
333643006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 13 Jun 2014 08:05:34 +0000 (08:05 +0000)]
Disable regress/regress-2653 until deopt_every_n_garbage_collections is fixed.
BUG=3389
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
331823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 13 Jun 2014 07:51:45 +0000 (07:51 +0000)]
GVN fix, preventing loads hoisting above stores to the same field when HObjectAccess's representation is not the same.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
331493006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 13 Jun 2014 07:03:11 +0000 (07:03 +0000)]
X87: Fixed flooring division by a power of 2, once again...
port r21769
original message:
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.
BUG=v8:3259
LOG=y
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
330133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 Jun 2014 06:36:09 +0000 (06:36 +0000)]
Fixed undefined behavior in RNG.
We're basically trading undefined behavior for implementation defined
behavior, which should be OK for UBSan. :-) The generated code should
be identical, at least I checked that for GCC 4.6.3 on x64.
BUG=377790
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
332733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 13 Jun 2014 02:38:46 +0000 (02:38 +0000)]
Update Lithium AddI, SubI, MulI, BitI, ShiftI, MathMinMax to support x32 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
321373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 13 Jun 2014 02:19:57 +0000 (02:19 +0000)]
Specially handle the key of the LoadKeyed and StoreKeyed instruction for x32 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
324913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 13 Jun 2014 02:00:13 +0000 (02:00 +0000)]
MIPS: Fix register usage after r21822.
The at register is no longer in usage, so changed it to "scratch".
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
335753003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 12 Jun 2014 20:25:47 +0000 (20:25 +0000)]
MIPS: Fix r21780 - “Fixed flooring division by a power of 2, once again...”
Initialize scratch register for all possible code paths.
TEST=mjsunit/compiler/division-by-constant.js
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
333713002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 12 Jun 2014 18:55:09 +0000 (18:55 +0000)]
Make timestamp of fuzz harness archives finer grained.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
329303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 12 Jun 2014 17:31:54 +0000 (17:31 +0000)]
For-of calls [Symbol.iterator]() on RHS to get iterator
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N
Review URL: https://codereview.chromium.org/
332663004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 12 Jun 2014 17:06:24 +0000 (17:06 +0000)]
Drop dependency on Isolate* from platform.h
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
328993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Thu, 12 Jun 2014 16:47:51 +0000 (16:47 +0000)]
Remove forced type changes when they can't deopt
Hydrogen attempts to force representation changes on certain operations in order
to deoptimise on the change rather than the operation. However, these forced
changes are often unnecessary on 64-bit platforms, and cause poor code
generation, so this patch makes some of them conditional on whether it's
possible for deoptimisation to occur in the change.
On ARM64, this prevents sequences like:
;;; <@46,#89> smi-tag
0x7ff282c7f050 144 lsl x4, x4, #32
;;; <@48,#90> smi-untag
0x7ff282c7f054 148 asr x5, x4, #32
;;; <@50,#31> mul-const-i-s
0x7ff282c7f058 152 lsl w6, w5, #3
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
303263010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 12 Jun 2014 16:41:56 +0000 (16:41 +0000)]
Optimize prototype chain when creating initial maps for functions used as constructors
Review URL: https://codereview.chromium.org/
332783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 12 Jun 2014 16:38:37 +0000 (16:38 +0000)]
Add non-miss slow path to LoadIC_Normal.
This avoids endless IC patching cycles between "normal" and "nonexistent" handlers when objects having and not having the property are seen alternatingly
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
328353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 12 Jun 2014 15:42:14 +0000 (15:42 +0000)]
MIPS: Fix unsigned comparison.
TEST=mjsunit/regress/regress-3380
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
329223006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 12 Jun 2014 15:08:33 +0000 (15:08 +0000)]
Rewrite GetPropertyAttribute to use the LookupIterator
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
321543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 12 Jun 2014 15:05:01 +0000 (15:05 +0000)]
X87: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
Port r21781 (
4869c528)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
336543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 12 Jun 2014 14:59:51 +0000 (14:59 +0000)]
Revert "Active use of Hydrogen-generated generic KeyedLoad IC"
Due to mirror-object test failure (although I'm pretty sure I was framed)
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
328333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 12 Jun 2014 14:23:29 +0000 (14:23 +0000)]
Active use of Hydrogen-generated generic KeyedLoad IC
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
330023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 12 Jun 2014 14:11:27 +0000 (14:11 +0000)]
Don't use LOG() from platform.
All places that use OS::Allocate either CHECK() that the result is non-NULL,
or use a reasonable fallback if they can't mmap memory.
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
326323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 12 Jun 2014 13:25:03 +0000 (13:25 +0000)]
build fix after r21807
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
333503005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00