Commit Graph

14330 Commits

Author SHA1 Message Date
mvstanton@chromium.org
e3e7daf01c We need to know if a load, store or call IC is assumed
to be on the global object. Previously, this information
was stored in RelocInfo. A more logical place for this kind
of structural information is ExtraICState. Storing it there
makes it easier for us to gather type feedback from these
sites too.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:14:34 +00:00
rossberg@chromium.org
22eff6f87a Prepare push to trunk. Now working on version 3.24.12.
R=ulan@chromium.org
TBR=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:10:08 +00:00
svenpanne@chromium.org
80c2c4080d Make -Wshadow happy.
LOG=y
BUG=v8:3073
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 13:28:33 +00:00
verwaest@chromium.org
4615e9edac Reland v8:18458 "Load the global proxy from the context of the target function."
BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 10:46:39 +00:00
rossberg@chromium.org
2879f2104c Revert "Load the global proxy from the context of the target function."
This reverts commit https://code.google.com/p/v8/source/detail?r=18458, since it exhibits a bug that breaks some tests.

TBR=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 09:55:25 +00:00
jochen@chromium.org
4934263a77 Remove generated makefiles on linux when running gyp_v8
BUG=331475
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 09:09:24 +00:00
bmeurer@chromium.org
90fa8f5659 Remove socket.h include from debug.h
Looks like there is no Socket usage in debug.h, so we don't need to
include it there.

TEST=in static build, ninja -C out/Debug/ d8
R=bmeurer@chromium.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 08:27:53 +00:00
verwaest@chromium.org
5b40c38679 Load the global proxy from the context of the target function.
BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 08:21:17 +00:00
bmeurer@chromium.org
88e703b8d1 Fix building d8 with readline support due to API changes
After recent API changes, d8 will fail to build when passing
"console=readline". This patch makes d8 work with readline again.

R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 07:53:18 +00:00
bmeurer@chromium.org
8f5645a28e silence has_changed_character may be used uninitialized warning
Some slightly older versions of gcc aren't clever enough to figure out
that this variable won't be used if the return value from the function
that initializes it is false.  Tested with gcc 4.5.1.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-04 18:20:50 +00:00
ulan@chromium.org
25f220ee0a Prepare push to trunk. Now working on version 3.24.11.
R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 15:50:51 +00:00
ulan@chromium.org
343813c59e Revert r18451 "Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."" since necessary WebKit changes are rolled in Chromium.
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:31:17 +00:00
ulan@chromium.org
163386c700 Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."
because of broken WebKit bots.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:13:21 +00:00
svenpanne@chromium.org
08354f8f07 Unbreak build.
Test/update/commit race condition... >:-(

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 12:21:48 +00:00
svenpanne@chromium.org
1143ab132e Reland r18383: More API cleanup.
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.

* Removed Integer::New and Integer::NewUnsigned with weird argument order.

Chrome CLs matching this change have been landed.

TBR=dcarney@chromium.org
LOG=y
BUG=324225

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 11:56:33 +00:00
jochen@chromium.org
e3fa6d67ca Avoid duplication of a hidden & inherited prototype's properties.
In Runtime_GetLocalPropertyNames(), the hidden prototypes of an object
are also consulted when deriving the property name set. However, if
given a function object and its template was inherited from the
template of one of its hidden prototypes, that hidden prototype's
property accessors will be present on the object already. Unwanted
duplicates will therefore appear.

Hence, go through the property names that the hidden prototypes
contribute and remove any already occurring ones.

Assumed to be a rare constellation, so the cost of this extra pass is
considered acceptable.

LOG=N
R=dcarney@chromium.org, jochen@chromium.org, rossberg@chromium.org
BUG=269562

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

Patch from Sigbjorn Finne <sof@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 11:19:13 +00:00
plind44@gmail.com
6a0a9a87c5 MIPS: Reland "Allocation site support for monomorphic StringAdds in BinaryOps".
Port r18444 (856f92e)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 21:38:09 +00:00
plind44@gmail.com
117d9c62f6 MIPS: Avoid unnecessary branches in array constructor stubs.
Port r18427 (4db045a)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 16:53:51 +00:00
m.m.capewell@googlemail.com
d6aabbdcc7 ARM: Optimize truncating division and fix sim
Optimize code generated for DivI Lithium instruction when handling division
where the result is int32. Also, fix the ARM simulator to give the correct
answer for kMinInt / -1.

TEST=Division tests added to test-assembler-arm.cc
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 16:36:21 +00:00
bmeurer@chromium.org
ad4231c495 Reland "Allocation site support for monomorphic StringAdds in BinaryOps".
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:31:27 +00:00
palfia@homejinni.com
a6e07f7fcc MIPS: Fix loading of global object in LWrapReceiver.
Port r18421 (39719ed)

Original commit message:
Since r16993 the cp register is handled by registers allocator,
and we cannot assume that the cp always contains the context.

BUG=318420
LOG=Y
TEST=test/mjsunit/regress/regress-318420.js
R=ulan@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:20:55 +00:00
jochen@chromium.org
b4c5627abf Revert r18435 "... Roll gyp 1685:1806"
TBR=ulan@chromium.org
LOG=n
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:13:53 +00:00
jochen@chromium.org
f4994ae876 Don't bail out of the cpplint cache is broken.
Instead, try to remove it.

BUG=none
R=ulan@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:06:27 +00:00
jochen@chromium.org
6ba3919003 Set the gyp DEPTH variable as relative path.
After r18439, it's an absolute variable which confuses gy

LOG=n
R=ulan@chromium.org
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 14:35:32 +00:00
jochen@chromium.org
22376a103a Don't modify the PWD in gyp_v8
When running gyp in parallel mode (soon the default), we need to be able
to find the script by looking at the path relative to the PWD when the
script was originally invoked.

Instead of changing the directory and relying on relative paths, just
use absolute paths (as gyp_chromium does).

BUG=v8:2973
R=ulan@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 13:50:50 +00:00
ulan@chromium.org
d8a03de590 Prepare push to trunk. Now working on version 3.24.10.
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 12:10:34 +00:00
ulan@chromium.org
0aa98cf5b6 Revert "Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""" because of broken windows bots.
R=jochen@chromium.org
TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 10:49:48 +00:00
bmeurer@chromium.org
4d88b0b4be Revert "Fix compilation with C++11." and "Allocation site support for monomorphic StringAdds in BinaryOps.".
This reverts commit r18431 and r18432 for breaking
the Linux nosnapshot build.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 10:38:45 +00:00
jochen@chromium.org
e785e60bea Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""
Also include a gyp_v8.py wrapper for new import rules.

> Doesn't work with python2.7 - I tested with 2.6 :-/
>
> BUG=none
> TBR=hpayer@chromium.org
> LOG=n

BUG=none
LOG=n
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 09:58:06 +00:00
bmeurer@chromium.org
508c382bc0 Fix compilation with C++11.
TBR=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 09:28:53 +00:00
bmeurer@chromium.org
a91499fec7 Allocation site support for monomorphic StringAdds in BinaryOps.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 09:17:52 +00:00
bmeurer@chromium.org
0899da3697 Add support for the QNX operating system.
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

R=bmeurer@chromium.org, jkummerow@chromium.org

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
bmeurer@chromium.org
ffb5eb6e09 [arm] Drop useless branches in full and lithium codegen.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 06:49:09 +00:00
bmeurer@chromium.org
a53dcc9da1 Make it possible to assert that certain instance types are compatible wrt HAllocate.
Turns clear_next_map_word_ into a flag and adds a new method
CompatibleInstanceTypes(). This is used in BuildUncheckedStringAdd()
to ASSERT that there's no difference wrt. HAllocate in using
CONS_STRING_TYPE vs CONS_ASCII_STRING_TYPE.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 06:26:44 +00:00
bmeurer@chromium.org
c82a2e648b [arm] Avoid unnecessary branches in array constructor stubs.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 06:18:02 +00:00
bmeurer@chromium.org
0d0b40fe97 [arm] Use single instruction tail call sequence.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 06:10:58 +00:00
rmcilroy@chromium.org
78ab4379d3 Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry
Third stage of implementing an out-of-line constant pool for Arm.  This CL adds
a ConstantPool field to Code objects and initializes the pp register on
function entry, and saves the pp register on the stack frame. The ConstantPool
object is always empty and is unused currently.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-30 11:23:59 +00:00
ulan@chromium.org
48aeff4e4b Prepare push to trunk. Now working on version 3.24.9.
R=jarin@chromium.org
TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-30 09:23:56 +00:00
ulan@chromium.org
711bcbb0e3 ARM: fix loading of global object in LWrapReceiver.
Since r16993 the cp register is handled by registers allocator,
and we cannot assume that the cp always contains the context.

BUG=318420
LOG=Y
TEST=test/mjsunit/regress/regress-318420.js
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-27 14:38:00 +00:00
ulan@chromium.org
7ac7a7ea99 Fix a race between concurrent recompilation and OSR.
If concurrent recompilation finishes before OSR, then OSR replaces
the old optimized code without evicting it from the optimized code map.

New functions can get the old optimized code from the optimized code map,
but the old code could be already deoptimized.

BUG=330046
TEST=test/mjsunit/regress-330046.js
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-27 09:22:56 +00:00
machenbach@chromium.org
2566c54f15 [Sheriff] Revert "Sync cygwin version with chromium"
This reverts commit r18392 for breaking python compatibility on windows bots.

BUG=
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-26 21:24:31 +00:00
yangguo@chromium.org
fba409447d Fix GCMole issue.
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-24 08:03:03 +00:00
yangguo@chromium.org
dd5c60e11c Turn off concurrent sweeping.
R=ulan@chromium.org
BUG=v8:3071
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 16:48:05 +00:00
yangguo@chromium.org
f9bf10ce6d Prepare push to trunk. Now working on version 3.24.8.
R=ulan@chromium.org
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 16:17:23 +00:00
yangguo@chromium.org
d662f8abf7 Add missing PostponeInterruptsScope.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 15:41:44 +00:00
yangguo@chromium.org
6ba6d0b4fe Cache optimized code for OSR.
BUG=v8:2637
LOG=N
R=titzer@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:42:42 +00:00
yangguo@chromium.org
2a4be7067c Refactor the compiling pipeline.
Goals:
 - easier to read, more suitable identifiers.
 - better distinction between compiling optimized/unoptimized code
 - compiler does not install code on the function.
 - easier to add features (e.g. caching optimized code for osr).
 - remove unnecessary code.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:30:35 +00:00
yangguo@chromium.org
f7929d2a87 Reland "Handlify concat string and substring."
This relands commit r17490.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 12:37:56 +00:00
yangguo@chromium.org
8c10fc6aee Harmony: implement math.hypot.
R=jarin@chromium.org
BUG=v8:2938
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 11:13:39 +00:00
yangguo@chromium.org
2e2676a843 Harmony: implement Math.log2 and Math.log10.
R=jarin@chromium.org
BUG=v8:2938
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 10:54:47 +00:00