Commit Graph

2694 Commits

Author SHA1 Message Date
bmeurer@chromium.org
5a564648dd Improve reproducibility of test runs.
Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).

Also fix all uses of rand() to make use of our RNG class
instead.

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 07:25:49 +00:00
mvstanton@chromium.org
41b6c8a0f1 Handlefy Descriptor and other code in objects.cc
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:26:32 +00:00
machenbach@chromium.org
1b841f369d Fix test expectations for nosnap windows.
BUG=v8:3216
LOG=n
TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:01:03 +00:00
ishell@chromium.org
74e7a4ad07 ElementsAccessor::SetLength() maybehandlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:16:19 +00:00
machenbach@chromium.org
3d427b5599 Skip tests in nosnap mode.
Depends on https://codereview.chromium.org/230743002/.

BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:01:54 +00:00
jochen@chromium.org
dc4ba08d17 Allow the embedder to pass the virtual memory limit to v8
The getrlimit() call might be sandboxed, so it's not safe to use it.

BUG=none
R=mstarzinger@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:45:56 +00:00
yangguo@chromium.org
aee76a059a Remove calls to non-handlified version of GetProperty(name).
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:21:47 +00:00
bmeurer@chromium.org
a0ac88db82 Fix various bugs in the type systems, and improve test coverage.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 11:12:15 +00:00
hpayer@chromium.org
c85cc472e7 Introduced Atomic8 and added no-barrier Atomic8 accessors.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 08:20:10 +00:00
adamk@chromium.org
902ad4a17a Use OrderedHashTables as the backing store of JSSet and JSMap
This also deletes ObjectHashSet as it's no longer used.

BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 20:06:35 +00:00
rossberg@chromium.org
91dec1adfe Shut up Windows and ASAN
TBR=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 11:13:26 +00:00
rossberg@chromium.org
19f924a2ae Reland "Refactoring to allow adding new structured types"
Same as before, except that it's now using a void array instead of a struct, to shut up Clang warnings.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 10:50:56 +00:00
yangguo@chromium.org
ed9f1af2fc Implement handlified String::Flatten.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:49:49 +00:00
yangguo@chromium.org
3726ba90a7 Change exception type to Object.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:44:24 +00:00
yangguo@chromium.org
23dbc85bd7 Fix more MUST_USE_RESULT warnings.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:54:27 +00:00
dcarney@chromium.org
1d138ecdd5 Revert "Refactoring to allow adding new structured types"
This reverts commit r20538 for breaking gcmole.

TBR=rossberg@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:48:47 +00:00
yangguo@chromium.org
9ed8c39cac Return MaybeHandle from SetElement and DeleteElement.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:04:13 +00:00
alexandre.rames@arm.com
622ddd3495 ARM64: Introduce a version of ADR handling distant targets.
This fixes an out-of-range label error for an ADR instruction in the
mozilla/data/js1_5/Regress/regress-280769-2.js test.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 12:33:03 +00:00
rossberg@chromium.org
32f295314c Refactoring to allow adding new structured types
Also, simplfy representation of zone types, using a simple struct.

R=bmeurer@chromium.org
BUG=
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 11:00:41 +00:00
dcarney@chromium.org
1b31d2b34a Skip a bunch of new failing nacl tests
R=machenbach@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:44:48 +00:00
yangguo@chromium.org
e7f0beeaa6 Make String.prototype.contains throw when passing a regular expression
Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=mjsunit/harmony
BUG=v8:3261
LOG=Y
R=yangguo@chromium.org, arv@chromium.org, ishell@chromium.org

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

Patch from Mathias Bynens <mathiasb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:24:01 +00:00
bmeurer@chromium.org
448486ed48 Use distinct maps for oddballs with special handling in the type system.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 09:41:13 +00:00
adamk@chromium.org
8e9eebeba1 OrderedHashTable implementation with Set and Map interfaces
OrderedHashTable is an insertion-ordered HashTable based on
Jason Orendorff's writeup of a data structure attributed to Tyler Close:
https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables

It is intended as the new backing store for JSSet/JSMap, as ES6 requires
insertion-order-based iteration. Note, however, that in the interest of
keeping the initial check-in small this patch does not yet include any
iteration support.

This change also doesn't yet touch any existing behavior, but in
a branch I've verified that these structures pass the existing
JSSet/JSMap mjsunit tests.

BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 20:41:57 +00:00
marja@chromium.org
3d1a17c2ac Update tests to use the new compilation API + related fixes.
Esp. get rid of PreCompile in tests, as it's going to be removed.

Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
 preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
  second time parse, and had to be modified to ensure we don't hit the
  compilation cache.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
yangguo@chromium.org
dd7bb01688 Return MaybeHandle from SetProperty.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:06:11 +00:00
rmcilroy@chromium.org
3eb418df78 Fix fixed-point vcvt_f64_s32 immediate value encoding
The (32 - fraction_bits) value should be encoded so that the least
significant bit is set to bit 5 and the four next bits to bits 0-3. Fix
the previously incorrect encoding. This bug did not cause behavioral
issues before, since in existing uses of the function the order of the
bits in the immediate value does not matter, as they are all 1.

BUG=3256
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 11:12:40 +00:00
alexandre.rames@arm.com
1f38f42ef1 ARM64: Fixes and more support for FRINT<X> instructions.
Fix simulation and tests for the [-0.5, -0.0[ range for FRINTA and FRINTN, and
add support for FRINTM.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 14:30:44 +00:00
yangguo@chromium.org
eedc4c01f5 Return MaybeHandle from NewExternalStringFrom*.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:41:37 +00:00
yangguo@chromium.org
164e5b580c Reland "Return MaybeHandle from NewConsString."
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:37 +00:00
yangguo@chromium.org
893f413434 Return MaybeHandle from NewRaw???String.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:08 +00:00
yangguo@chromium.org
87dd16e3cd Revert "Return MaybeHandle from NewConsString."
This reverts r20473.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:09:14 +00:00
yangguo@chromium.org
be0d2f5d15 Return MaybeHandle from NewConsString.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:38:01 +00:00
alexandre.rames@arm.com
a6d6cd08a1 ARM64: Fix cctest/test-disasm-arm64/debug on real hardware.
Without the 'BREAK' parameter, no instruction is generated when we are not
running with the simulator.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 15:45:13 +00:00
verwaest@chromium.org
ca6b727665 Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
rossberg@chromium.org
2fda95eb80 Make stray 'return' an early error
As required by the spec, and implemented by other browsers.

(Plus minor clean-up for redeclaration TypeErrors.)

R=marja@chromium.org
BUG=
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:38:01 +00:00
alph@chromium.org
923fbafc15 Show references from weak containers as weak in heap snapshots.
BUG=356590
LOG=Y
R=ulan@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:19:53 +00:00
rossberg@chromium.org
45118bfdfb Make invalid LHSs that are calls late errors
Necessary for web legacy compatibility.

Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.

R=marja@chromium.org
BUG=chromium:358346
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:03:05 +00:00
jochen@chromium.org
b4c3d2f9ba Skip cctest/test-lockers/MultithreadedParallelIsolates on windows
It's already marked as FAIL, PASS everywhere anyways.

BUG=v8:3215
LOG=n
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 19:20:31 +00:00
yurys@chromium.org
681c15eb4e Remove debugger_auto_break flag
The flag was introduced to support console debugger in Chrome. That debugger was replaced by DevTools long time ago and the flag is always true now.

BUG=None
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:23:23 +00:00
yangguo@chromium.org
c0fa861726 Do not check for interrupt when allocating stack locals.
R=dcarney@chromium.org
BUG=357137
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:14:54 +00:00
jochen@chromium.org
b7039334ae Revert 20313 - "Ship promises and weak collections"
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004

R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
jochen@chromium.org
617531da8f Skip cctest/test-mark-compact/NoPromotion on ARM64
BUG=v8:3247
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:09:59 +00:00
dcarney@chromium.org
8b304a6832 Implement PersistentValueVector, analogous to PersistentValueMap.
BUG=
R=dcarney@chromium.org

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 10:03:20 +00:00
dslomov@chromium.org
bd353dc3a0 Inline internal getters for typed arrays & friends.
R=hpayer@chromium.org, yangguo@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=20330

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 15:25:24 +00:00
jochen@chromium.org
feeccf0d10 Revert r20335 - "Raise StackOverflow during bootstrapping"
Reason for revert: New test crashes on nosnap bots

> See https://github.com/joyent/node/issues/7120
>
> R=jarin@chromium.org
> BUG=
>
> Review URL: https://codereview.chromium.org/178073002
>
> Patch from Alexis Campailla <alexis@janeasystems.com>.

TBR=jarin@chromium.org
BUG=none
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 14:16:11 +00:00
jarin@chromium.org
ee173152ef Raise StackOverflow during bootstrapping
See https://github.com/joyent/node/issues/7120

R=jarin@chromium.org
BUG=

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

Patch from Alexis Campailla <alexis@janeasystems.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:26:20 +00:00
haitao.feng@intel.com
a72e3525fc Refactor the arithmetic instructions for x64
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 11:13:14 +00:00
marja@chromium.org
6730ec8433 Amend PersistentValueMap:
- Use the surrounding map (instead of Traits::Impl) for weak callback.
- Provide for a fast reference to a mapped value.
- Restructure Traits to accomondate for the first point above.

[Why?] As discussed, I proceeded to replace Impl with the map.
The problem I encountered with that version is that now the
Traits class depends on itself: The weak-related methods require the
map type in their signature. But the map type includes the Traits class
and hence the Traits class method signatures depend on the specific Traits class. That
makes them practically un-derivable: While you can derive a Traits class
from another one, since the compiler now expects methods with a different
signature. To accommodate, I pulled the dispose traits into the weak traits
class. I also removed the Impl*/MapType* parameter from the Dispose call,
since no implementation seems to need it.

R=dcarney@chromium.org
BUG=

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:35:50 +00:00
yurys@chromium.org
f7b437d086 Deprecate Start/StopCpuProfiling methods
BUG=v8:3213
LOG=Y
R=alph@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:24:49 +00:00
haitao.feng@intel.com
329b0449d5 Introduce rolp, rorp, rclp, rcrp, shlp, shrp and sarp for x64 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 04:55:00 +00:00