erik.corry@gmail.com [Tue, 20 Sep 2011 10:08:39 +0000 (10:08 +0000)]
Fix pc to code cache so it can cope with a pointer to the start of the code
object. Rename it to be the inner pointer to code cache.
Review URL: http://codereview.chromium.org/
7969013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 20 Sep 2011 10:06:23 +0000 (10:06 +0000)]
Initialize pre-allocated fields of JSObject with undefined.
BUG=94873
Review URL: http://codereview.chromium.org/
7929001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 20 Sep 2011 09:44:23 +0000 (09:44 +0000)]
Make newer GCCs happier: Removed unused variables.
Review URL: http://codereview.chromium.org/
7969014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 20 Sep 2011 09:43:58 +0000 (09:43 +0000)]
Make newer GCCs happier: Fixed NULL vs. 0 confusion.
Review URL: http://codereview.chromium.org/
7970008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 20 Sep 2011 08:32:48 +0000 (08:32 +0000)]
Speed up finding code objects from addresses in asserts. With
the new large pages it takes too long to iterate from the start
of the page to find a code object.
Review URL: http://codereview.chromium.org/
7974007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 20 Sep 2011 07:14:30 +0000 (07:14 +0000)]
Fix a deoptimization bug.
We reset the count of outgoing arguments, used for the index in the
frame's outgoing arguments, for each level of inlining. This could
result in the arguments overlapping, rather than stacking on top of
each other.
R=whesse@chromium.org,fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7932022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 20 Sep 2011 07:00:59 +0000 (07:00 +0000)]
Skip crashing Harmony proxies unit test until underlying issue is fixed.
BUG=v8:1698
Review URL: http://codereview.chromium.org/
7974006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 19 Sep 2011 18:50:06 +0000 (18:50 +0000)]
ARM: Pregenerate some stubs that we call from other stubs.
BUG=1696
Review URL: http://codereview.chromium.org/
7956002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 19 Sep 2011 18:36:47 +0000 (18:36 +0000)]
Merge experimental/gc branch to the bleeding_edge.
Review URL: http://codereview.chromium.org/
7945009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 19 Sep 2011 15:09:30 +0000 (15:09 +0000)]
Only do a full verify after computing dominators.
We don't modify the graph in later phases. This speeds up debug tests
by a lot.
Review URL: http://codereview.chromium.org/
7942001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 19 Sep 2011 14:50:33 +0000 (14:50 +0000)]
Unify the handling of comparinsons against null and undefined.
Although this patch is not small, most parts of it are rather mechanical:
* First of all, the concept of a 'nil-like' value is introduced, which can be
null or undefined. They are treated symmetrically regarding comparisons, so
it makes sense to handle them in a uniform manner. It is a mystery why
JavaScript defines two of those beasts, when even *one* is a design wart...
* Extended and renamed a few things which now handle undefined in addition to
null.
* Made the parts of the full code generator and the hydrogen generation which
deal with comparisons a bit more similar regarding their handling of special
cases.
* Refactored the syntactical detection of special cases for comparisons,
hopefully making them a bit more readable and less copy-n-paste-oriented.
Things like this should really be a one-liner in any sane programming
language... :-P
* Cut down the length of the argument lists of a few functions to something
less insane, making them more easily understandable locally. This involves
minor code duplication, but this was a good tradeoff and can be remedied
later if necessary.
* Replaced some boolean arguments with more readable enums.
* Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
to null or undefined.
Review URL: http://codereview.chromium.org/
7918012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 19 Sep 2011 09:55:07 +0000 (09:55 +0000)]
MIPS: port Make function proxies work as constructors.
ported r9310 (
72a5468)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7931002
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 19 Sep 2011 07:38:48 +0000 (07:38 +0000)]
Fix a harmless assert and a genuine bug in the GC-safety of stub
generation on ARM without VFP3.
Review URL: http://codereview.chromium.org/
7937004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Sun, 18 Sep 2011 21:16:08 +0000 (21:16 +0000)]
Fix presubmit - remove stray whitespace on empty lines.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7931023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Sun, 18 Sep 2011 15:16:46 +0000 (15:16 +0000)]
MIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.
An ARM PreIndex store was badly ported.
Landing http://codereview.chromium.org/
7934003/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Sun, 18 Sep 2011 15:11:33 +0000 (15:11 +0000)]
MIPS: port Implement function proxies (except for their use as constructors).
port r9258 (
c8709a9)
Note on mips implementation: Arm reg r4 (call type) normally maps to mips
reg t0. We had already used t0 as a temp in Generate_FunctionCall() and
Generate_FunctionApply(), so I replaced that existing t0 usage with t3, and
now use t0 only for call type.
Original commit message:
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.
Landing http://codereview.chromium.org/
7891033/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Sun, 18 Sep 2011 15:05:44 +0000 (15:05 +0000)]
MIPS: Fix assertion-fail on cacheflush from generated code.
Fix a mips-specific CallCFunction assertion, when checking for valid
frames on the stack. We fake it with AllowExternalCallThatCantCauseGC().
Landing http://codereview.chromium.org/
7932010/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Sat, 17 Sep 2011 12:29:16 +0000 (12:29 +0000)]
When --nolimit-inlining flag is set, don't limit inlining depth.
This flag is used to debug problems with inlining.
By default we still limit inlining to small functions and up to a maximum
depth to avoid too much code size growth.
Review URL: http://codereview.chromium.org/
7919012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 16 Sep 2011 13:38:30 +0000 (13:38 +0000)]
Make proxies work as prototypes.
Fix a couple of other proxy bugs along the way.
Refactor trap invocation in native code.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7799026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 16 Sep 2011 13:06:51 +0000 (13:06 +0000)]
Fix asserts and GC unsafeness in stub generation, bug=1689.
Review URL: http://codereview.chromium.org/
7920006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 16 Sep 2011 12:26:29 +0000 (12:26 +0000)]
Make function proxies work as constructors.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7628021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 16 Sep 2011 11:29:13 +0000 (11:29 +0000)]
Fix some stub calling asserts on x64.
Review URL: http://codereview.chromium.org/
7922008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Sep 2011 09:23:48 +0000 (09:23 +0000)]
MIPS: pre-crankshaft updates to code-stubs and stub-cache (3/3)
Highlights:
- code-stubs-mips.cc
-- use EmitFPUTruncate in place of inline code in several places.
-- use BranchF macro rather than lower-level FP cmp and branch for readability.
-- Port of Sven's r8859 (Implement type recording for ToBoolean) and r8886
(Simplify and optimize ToBoolean handling.)
-- Fix bug in TranscendentalCacheStub::Generate where some regs were not
saved across CFunction call.
-- use updated xxxCFunction macros.
-- update InstanceOfStub to support crankshaft
DoDeferredLInstanceOfKnownGlobal
-- Provide code-patching and I-cache flushing support for generated
code, used for InstanceOfStub under crankshaft (not submitted here).
This requires adding new ExternalReference to src/assember.cc,h
- stub-cache-mips.cc
-- port Danno's r8901 (Create a common base class for Fixed-, FixedDouble-
and ExternalArrays) to mips crankshaft branch.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7890001
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Sep 2011 09:12:56 +0000 (09:12 +0000)]
MIPS: pre-crankshaft updates to macro-assembler and related files. (2/3)
Highlights:
- Better support for FP compares and branches (BranchF macro)
- Add EmitFPUTruncate() macro, similar to EmitVFPTruncate on Arm.
- Some improvements to long-branch mechanism for mips.
- Add ClampUint8() and ClampDoubleToUint8()
- Minor changes to ic-mips, full-codegen-mips mostly, for improved
code-patching with BinaryOpStub.
- Small changes to stack checking in full-codegen-mips and
regexp-macro-assembler-mips
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7888004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 15 Sep 2011 19:24:04 +0000 (19:24 +0000)]
Fix some asserts in stub generation and file some bugs where
we appear to have valid asserts triggering.
Review URL: http://codereview.chromium.org/
7908005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 15 Sep 2011 16:38:47 +0000 (16:38 +0000)]
Share Maps for ElementsKind transitions
Support sharing maps after an changing an object's ElementsKind for element kinds other then external elements.
R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/
7862036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Sep 2011 13:20:42 +0000 (13:20 +0000)]
Fixing presubmit.
Review URL: http://codereview.chromium.org/
7910001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Sep 2011 13:12:59 +0000 (13:12 +0000)]
Tickprocessor no longer prints error messages on log entries that are unrelated to profiling.
BUG=v8:1683
Review URL: http://codereview.chromium.org/
7906003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 15 Sep 2011 12:57:16 +0000 (12:57 +0000)]
Update mozilla test expectations (FAIL regress-103602)
TEST=mozilla tests are green
Review URL: http://codereview.chromium.org/
7908002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Sep 2011 12:47:06 +0000 (12:47 +0000)]
Correcting a bogus assert outdated since r9295.
Review URL: http://codereview.chromium.org/
7909002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 15 Sep 2011 12:00:30 +0000 (12:00 +0000)]
Change global const handling to silently ignore redeclarations
and make window.{Infinity,NaN,undefined} read-only as per ES5
BUG=89490
TEST=mjsunit/const-redecl.js, mjsunit/undeletable-functions.js, es5conform, sputnik
Review URL: http://codereview.chromium.org/
7811015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 15 Sep 2011 11:45:06 +0000 (11:45 +0000)]
Convert "BUG=foo" to "(issue foo)" in push-to-trunk.sh
Review URL: http://codereview.chromium.org/
7903005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 15 Sep 2011 11:30:45 +0000 (11:30 +0000)]
Add asserts to ensure that we:
1) Don't make a call to C without having a valid frame on the stack.
2) Don't generate a call to a stub while generating a stub, unless we can be
sure that the stub we are calling has already been generated (the stub
generation code is not reentrant wrt. GC).
Review URL: http://codereview.chromium.org/
7891042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Sep 2011 11:10:01 +0000 (11:10 +0000)]
Enable slices of external strings (in the tentative implementation).
TEST=cctest test-strings/SliceFromExternal, mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/
7832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9295
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 15 Sep 2011 10:57:47 +0000 (10:57 +0000)]
Enable inlining of functions that reference context slots.
Review URL: http://codereview.chromium.org/
7887038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Sep 2011 09:09:40 +0000 (09:09 +0000)]
Nuke CompareToNull AST node.
The Great Master Plan is to move the recognition of special cases for
comparisons further down the compilation pipeline where more information is
available. This is a first step into this direction: The special handling of
equality comparisons involving null is pushed from the parser to the code
generators, removing the need for a special AST node. (There are rumors from
usually well-informed sources that this node type is actually a relic of ancient
crankshaft days...)
The next steps will be the unification of null/undefined handling and pushing
the special case handling in crankshaft even further down the pipeline, enabling
the recognition of cases like "var foo=null; if (foo === bar) ...", but these
will be in separate CLs.
Review URL: http://codereview.chromium.org/
7887037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 15 Sep 2011 08:16:07 +0000 (08:16 +0000)]
Add "native" target to Makefile for the benefit of Linux distros
TEST=make native; make native.check; make native.clean
Review URL: http://codereview.chromium.org/
7891045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 15 Sep 2011 08:13:39 +0000 (08:13 +0000)]
Add solaris support to gyp build.
Patch by Ben Noordhuis <info@bnoordhuis.nl>. I don't have a Solaris box around to test this myself.
BUG=v8:1684
Review URL: http://codereview.chromium.org/
7889038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Sep 2011 07:23:31 +0000 (07:23 +0000)]
Fixing issue 1639, debugger stops stepping outside evaluate.
BUG=v8:1639
Review URL: http://codereview.chromium.org/
7889039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 15 Sep 2011 07:22:07 +0000 (07:22 +0000)]
Prepare push to trunk. Now working on version 3.6.5.
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/
7905001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 14 Sep 2011 16:14:26 +0000 (16:14 +0000)]
Force lazy deoptimization and remove optimized code on deopt inside a recursively invoked function.
R=fschneider@chromium.org,sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7890028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Sep 2011 14:39:56 +0000 (14:39 +0000)]
Fixing d8's broken readline history.
Review URL: http://codereview.chromium.org/
7885026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 14 Sep 2011 13:51:29 +0000 (13:51 +0000)]
Mark variables as being accessed from any inner scope, not only function scopes
BUG=96523
TEST=mjsunit/regress/regress-96523.js
Review URL: http://codereview.chromium.org/
7890031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 14 Sep 2011 12:33:57 +0000 (12:33 +0000)]
Make built-in functions not call .apply on functions.
Uses the new %Apply runtime function instead.
Removes last(?) dependency on user-mungable infrastructure.
Review URL: http://codereview.chromium.org/
7887031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 14 Sep 2011 12:23:52 +0000 (12:23 +0000)]
Cleanup of include comments
Review URL: http://codereview.chromium.org/
7892025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 14 Sep 2011 11:47:03 +0000 (11:47 +0000)]
Eliminate the need for code delete events in CPU profiler.
Events are still generated for tick processor on performance testing
server to work, as soon as scripts will be updated, it will be safe
to remove code delete events emitting code.
R=erik.corry@gmail.com
BUG=v8:1466
TEST=existing tests in test-profile-generator,test-cpu-profiler and mjsunit/tools
Review URL: http://codereview.chromium.org/
7864017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Sep 2011 11:27:14 +0000 (11:27 +0000)]
Reverting r9272.
Review URL: http://codereview.chromium.org/
7889033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 14 Sep 2011 11:20:31 +0000 (11:20 +0000)]
Fix scope iteration when debugging global code.
TEST=mjsunit/debug-scopes.js
Review URL: http://codereview.chromium.org/
7890007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Sep 2011 11:05:07 +0000 (11:05 +0000)]
Fixed broken readline console history.
Review URL: http://codereview.chromium.org/
7888035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 14 Sep 2011 08:11:16 +0000 (08:11 +0000)]
MIPS: port Remove in-loop tracking for call ICs.
port r9260 (
af9cfd83).
Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=9269
Review URL: http://codereview.chromium.org/
7886028
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 14 Sep 2011 08:08:16 +0000 (08:08 +0000)]
Revert "MIPS: port Remove in-loop tracking for call ICs."
Committed incorrectly.
TBR=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7890026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 14 Sep 2011 08:04:47 +0000 (08:04 +0000)]
MIPS: port Remove in-loop tracking for call ICs.
port r9260 (
af9cfd83).
Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7886028
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Sep 2011 07:30:51 +0000 (07:30 +0000)]
Fixed spurious character in test case, plus presubmit issues.
Also addressed Slava's complaint about the personalized comment.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7886032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Sep 2011 17:14:39 +0000 (17:14 +0000)]
Fix for .bind regression.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7892013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Sep 2011 16:11:05 +0000 (16:11 +0000)]
Fixing r9265: moving test case into correct location.
Review URL: http://codereview.chromium.org/
7889008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Sep 2011 15:08:36 +0000 (15:08 +0000)]
Adding test case for issue 1639, fixed by r9264.
BUG=v8:1639
Review URL: http://codereview.chromium.org/
7889006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Sep 2011 14:38:39 +0000 (14:38 +0000)]
Debugger: fix stepping next with trycatch recursion
Added depth check to StepNextContinue. Do step out and queue actual StepNext if check failed.
R=yangguo@chromium.org,danno@chromium.org,vegorov@chromium.org
BUG=v8:1639
TEST=
Review URL: http://codereview.chromium.org/
7780033
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Sep 2011 14:31:54 +0000 (14:31 +0000)]
Fixing r9262 for shared library build.
Review URL: http://codereview.chromium.org/
7888013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Sep 2011 13:16:13 +0000 (13:16 +0000)]
Fixing parallel execution in d8 (with -p) and some memory leaks.
Review URL: http://codereview.chromium.org/
7891005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Sep 2011 13:07:20 +0000 (13:07 +0000)]
Test (and fix) all exception paths that can occur with proxies.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7623013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Sep 2011 12:53:28 +0000 (12:53 +0000)]
Remove in-loop tracking for call ICs.
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7869009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 13 Sep 2011 12:12:25 +0000 (12:12 +0000)]
MIPS: pre-crankshaft updates to assembler and related files. (1/3)
Highlights:
- assembler.h adds FPU definitions used for Crankshaft.
- Support optimization of mips call: jalr->jal
- includes changes to set_target_address_at(), support routines.
- Add 2nd use of Apply() to update target addresses.
- Minor debugging improvement in simulator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7888003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Sep 2011 11:42:57 +0000 (11:42 +0000)]
Implement function proxies (except for their use as constructors).
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7623011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Sep 2011 10:29:11 +0000 (10:29 +0000)]
Fix presubmit.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/
7888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Sep 2011 10:08:45 +0000 (10:08 +0000)]
push-to-trunk.sh: correctly detect existing branches, git-rm deleted files
Review URL: http://codereview.chromium.org/
7886004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 13 Sep 2011 09:45:10 +0000 (09:45 +0000)]
Fix parent of the WeakMap prototype.
R=rossberg@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/
7890003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Sep 2011 09:31:41 +0000 (09:31 +0000)]
Fix some valgrind errors in d8 shell.
This fixes 3 possibly lost warnings occurring when running unit tests under d8:
28 bytes in 1 blocks are possibly lost in loss record 40 of 68
at 0x67FB8DB: operator new[](unsigned int)
by 0x83865CC: v8::Shell::SetOptions(int, char**) (d8.cc:1200)
by 0x83869A5: v8::Shell::Main(int, char**) (d8.cc:1276)
by 0x8386B31: main (d8.cc:1333)
Review URL: http://codereview.chromium.org/
7780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 13 Sep 2011 08:31:21 +0000 (08:31 +0000)]
Support for precise stepping in functions compiled before debugging was started (step 1)
This change will ensure that all non-optimized code will be compiled
with debug break slots when debugging is initiated. This is handled by
scanning the heap for non-optimized functions without debug break slots and setting their code to be lazy recomplied. When the lazy recompilation happens the code will ge generated with debug break slots (if debugging is still active at that point in time).
R=svenpanne@chromium.org
Currently this is only implemented for functions which do not have activations on the stack.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7839030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Sep 2011 08:06:55 +0000 (08:06 +0000)]
Prepare push to trunk. Now working on version 3.6.4.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Sep 2011 07:51:22 +0000 (07:51 +0000)]
Revert "Clean up Context::Lookup and its uses."
This reverts commit 9241. This change shows failures on Mac and Win
for the threading tests. Reverting while I investigate.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7886002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 14:00:16 +0000 (14:00 +0000)]
Improved pretty printing of VAR PROXY and some control flow AST nodes.
Review URL: http://codereview.chromium.org/
7866041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 13:36:43 +0000 (13:36 +0000)]
d8 external array c'tors: fix double-to-uint32 semantics
TEST=mjsunit/external-array
Review URL: http://codereview.chromium.org/
7866040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 12:42:05 +0000 (12:42 +0000)]
d8 external array c'tors: allow parameters that can be converted to numbers
BUG=v8:1681
TEST=d8 accepts: var a = new Int32Array("2");
Review URL: http://codereview.chromium.org/
7867036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 12:16:30 +0000 (12:16 +0000)]
Add an explicit cast for an integral promotion that MSVC warns about.
I don't think the warning is valid, but it's a good sign that MSVC is
fixin' to generate the wrong code no matter what I think.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7869008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 12:13:00 +0000 (12:13 +0000)]
Reapply "Clean up Context::Lookup and its uses."
With a fix for a context lookup bug in the original change.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7862032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 10:50:50 +0000 (10:50 +0000)]
Use the BitField class for Code::Flags.
Use the BitField helper class for the code flags, so that we do not have to
define both a shift and a mask explicitly. This makes changing the flags
layout simpler.
Also, make the 'mask' and 'max' members of BitField into constants, because
they are constant and so that they can be used as constant expressions.
E.g., so they can be used in declaring other const members or in static
asserts.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7787028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:50:40 +0000 (10:50 +0000)]
Revert accidental r9229 and r9230
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:42:25 +0000 (10:42 +0000)]
add test
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:42:15 +0000 (10:42 +0000)]
do not use code deletions
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:24:18 +0000 (10:24 +0000)]
Fix the include guard from circular-queue-inl.h
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/
7864028
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 09:59:59 +0000 (09:59 +0000)]
Update python version in build/README.txt to what's used by Chromium
Review URL: http://codereview.chromium.org/
7867034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 09:57:11 +0000 (09:57 +0000)]
Improved printing of Goto and CompareIDAndBranch instructions.
Review URL: http://codereview.chromium.org/
7862031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 09:24:18 +0000 (09:24 +0000)]
Refactored HInferRepresenation::TryChange a bit, making the heuristics a bit clearer.
Removed an unneeded check for phis: There are never HValues in the work list
which are not convertible to integer and are not a phi. (But even if they were,
ignoring IsConvertibleToInteger() then looks like the wrong thing to do.)
Review URL: http://codereview.chromium.org/
7857033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 09:17:26 +0000 (09:17 +0000)]
Revert "Clean up Context::Lookup and its uses."
This reverts commit 9223, due to test failures.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7865023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 08:57:09 +0000 (08:57 +0000)]
Clean up Context::Lookup and its uses.
Refactor Context::Lookup so it is more obvious. Change the comment in
contexts.h so it no longer indicates that it can return an arguments
object (it can't) and clean up the call sites that had leftover dead code.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7782030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 12 Sep 2011 07:49:01 +0000 (07:49 +0000)]
Move the implementation of Scanner::LiteralScope to scanner.cc
It seems more appropriate as LiteralScope is declared in scanner.h
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7864024
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 9 Sep 2011 22:39:47 +0000 (22:39 +0000)]
Rename SmartPointer to SmartArrayPointer.
As pointed out in: http://codereview.chromium.org/
7754007/#msg5
"SmartPointer should have been named SmartArrayPointer as it expects an input
allocated using new[] and deallocates it using delete[]. Using it as a simple
scoped pointer for a single object is incorrect."
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/
7860011
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 14:47:37 +0000 (14:47 +0000)]
Key external array map transitions on ElementsKind instead of ExternalArrayType
R=jkummrow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7787007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 14:30:00 +0000 (14:30 +0000)]
Don't allow seal or element property re-definition on external arrays.
R=ricow@chromium.org
BUG=95920
TEST=test/mjsunit/regress/regress-95920.js
Review URL: http://codereview.chromium.org/
7858031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Sep 2011 13:12:52 +0000 (13:12 +0000)]
Re-use phi reachability information to avoid a fixed-point computation.
When we propagate the information that a value is not convertible to integer,
there is no need for a separate fixed-point computation, we can do things the
"Millikin way" (tm), folding as much computation as possible into a single pass:
;-) We already have the phi node reachability information, so we can easily
propagate this while doing the representation histogram computation.
Review URL: http://codereview.chromium.org/
7754010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Sep 2011 12:41:58 +0000 (12:41 +0000)]
Trigger OOM when zone is full.
Review URL: http://codereview.chromium.org/
7859030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Sep 2011 11:10:36 +0000 (11:10 +0000)]
Better error messages for d8's load() (execute from file).
BUG=v8:796
Review URL: http://codereview.chromium.org/
7754018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 09:35:57 +0000 (09:35 +0000)]
Mechanical refactor to move ElementsKind type out of JSObject.
R=svenpanne@chromium.org
BUG=none
TEST=all
Review URL: http://codereview.chromium.org/
7849017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 9 Sep 2011 09:17:57 +0000 (09:17 +0000)]
Add a function to compute loop nesting level to HBasicBlock.
Review URL: http://codereview.chromium.org/
7857031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 8 Sep 2011 23:43:36 +0000 (23:43 +0000)]
Follow up fixes for r9205: shared library build and thread deletion.
Review URL: http://codereview.chromium.org/
7787013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 8 Sep 2011 22:44:03 +0000 (22:44 +0000)]
Release memory of semaphores and thread pointers by using 'delete' instead of SmartPointer.
As pointed out in: http://codereview.chromium.org/
7754007/
SmartPointer expects an input allocated using new[] and deallocates it using delete[].
So using SmartPointer for deleting T* here is incorrect. Fix it now.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/
7846022
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Sep 2011 19:57:14 +0000 (19:57 +0000)]
Fix presubmit errors caused by updated depot tools
This is all blank line before/after linting errors.
Review URL: http://codereview.chromium.org/
7754022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 8 Sep 2011 16:29:57 +0000 (16:29 +0000)]
Use more style-guide-friendly names for some constants.
This is a renaming only change.
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7849020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Sep 2011 16:09:24 +0000 (16:09 +0000)]
Prepare push to trunk. Now working on version 3.6.3.
Review URL: http://codereview.chromium.org/
7849019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 8 Sep 2011 13:51:06 +0000 (13:51 +0000)]
Fix memory leak from d8 shell.
We were not disposing the semaphores and the thread used in SourceGroup.
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7754007/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00