svenpanne@chromium.org [Tue, 5 Nov 2013 09:22:35 +0000 (09:22 +0000)]
Refactored EXTERNAL_REFERENCE handling.
Previously, the result of target_reference_address() could only be
read, writing to it would have had an architecture-dependent effect,
e.g. writing into the code on ia32, a no-op on arm, etc.
This refactoring-only CL turns this into a simple getter, making it
impossible to use incorrectly.
More to come...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
46583006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 09:00:00 +0000 (09:00 +0000)]
Try to use STMDB/LDMIA instead of LDR/STR sequences whenever possible.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
44313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 08:58:34 +0000 (08:58 +0000)]
ARM: Use loop to initialize locals when optimizing for size.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
52163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 08:56:48 +0000 (08:56 +0000)]
Do Else() first for JoinContinuation() in IfBuilder.
This is required to make sure that environments are correct
for joined continuations.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
52593008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 5 Nov 2013 01:31:22 +0000 (01:31 +0000)]
MIPS: Handle constants in new space by making macro-assembler smarter.
Port r17376 (9af4f51)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
57873004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 4 Nov 2013 16:39:58 +0000 (16:39 +0000)]
Restore intended LoadIC behavior for JSBuiltinsObject
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
48343004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 4 Nov 2013 14:14:09 +0000 (14:14 +0000)]
Add missing negative dictionary lookup to NonexistentHandlerFrontend
BUG=v8:2980
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
57433003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Nov 2013 12:00:39 +0000 (12:00 +0000)]
Remove dead return path from JSObject::GetHiddenPropertiesHashTable.
R=verwaest@chromium.org, rafaelw@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/
57783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 31 Oct 2013 14:32:08 +0000 (14:32 +0000)]
MIPS: Fix uint32-to-smi conversion in Lithium.
Port r17441 (f1968f4)
BUG=chromium:309623
TEST=mjsunit/regress/regress-crbug-309623
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
49783010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 13:29:35 +0000 (13:29 +0000)]
Prepare push to trunk. Now working on version 3.23.0.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
50943003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 11:51:59 +0000 (11:51 +0000)]
[Sheriff] Mark failing test for nacl port.
BUG=v8:2978
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
50333005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 11:48:31 +0000 (11:48 +0000)]
[Sheriff] Mark flaky test.
BUG=v8:2921
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
54423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 31 Oct 2013 11:43:23 +0000 (11:43 +0000)]
Avoid pre-aging when debugger is active
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
47023003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 31 Oct 2013 10:18:51 +0000 (10:18 +0000)]
Fix uint32-to-smi conversion in Lithium
BUG=chromium:309623
R=vegorov@google.com, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
54393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 10:14:02 +0000 (10:14 +0000)]
Add no-variants option to test runner.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
48883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Oct 2013 10:22:52 +0000 (10:22 +0000)]
Do not remove HAdd with zero if the other operand is a double.
The other operand might be minus zero, and -0 + 0 = +0
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
52173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Oct 2013 14:34:07 +0000 (14:34 +0000)]
ia32: Fix comparisons of two constant double operands when exactly one of them is in new space.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
46883008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Oct 2013 11:44:04 +0000 (11:44 +0000)]
Temporarily allow HistogramTimerScopes to be nested
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
47513015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 29 Oct 2013 07:56:47 +0000 (07:56 +0000)]
Function ElementsAreSafeToExamine was undefined in release heap verify.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
48963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 17:59:13 +0000 (17:59 +0000)]
Prepare push to trunk. Now working on version 3.22.24.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
49263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 17:54:43 +0000 (17:54 +0000)]
Work around two ASSERTs that we're hitting now that DEBUG is #defined again
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
49433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 16:32:56 +0000 (16:32 +0000)]
Return early from BinaryOpIC::Transition when the JS call failed
This avoids an ASSERT failure in Chromium net_unittests.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
49103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 28 Oct 2013 16:17:43 +0000 (16:17 +0000)]
Remove assertion in SetResourceConstraints.
BUG=312233
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
48303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 28 Oct 2013 14:54:26 +0000 (14:54 +0000)]
Temporarily disable calls to OS::TotalPhysicalMemory to avoid ASSERT when running under the Chrome Sandbox.
This CL reverts the behaviour added in r16983 to avoid calling OS::TotalPhysicalMemory
which fails an assert in the Chrome Sandbox. It reverts the default
ResourceConstraints behaviour to that of V8 before r16983 (i.e., baseing these
values purely on hard-coded checks against 64bit/32bit and Android/non-Android.
This will be reverted once http://crbug.com/312241 has been resolved.
BUG=312241
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
48463002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 10:38:40 +0000 (10:38 +0000)]
Introduce andps for IA32/X64
replace andpd and pand in Math.abs
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
44153002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 10:29:57 +0000 (10:29 +0000)]
ARM: Replace branch with conditional store in function prologue.
Use conditional store to replace the receiver with undefined for
strict mode functions and builtins instead of branching code. This
has similar performance characteristics but saves one branch
instruction per strict mode function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
48473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 09:59:15 +0000 (09:59 +0000)]
Remove unused function MoveBytes().
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
24584004
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 09:57:15 +0000 (09:57 +0000)]
Rename deprecated __attribute__((no_address_safety_analysis)) to __attribute__((no_sanitize_address))
BUG=chromium:311283
R=glider@chromium.org
Review URL: https://codereview.chromium.org/
48413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 09:39:00 +0000 (09:39 +0000)]
Cast const char * to const uint8_t *, which removed a unnecessary version of InternalStringToDouble template.
Code size (android arm build for d8):
old d8: 17,479,047 bytes
new d8: 17,445,492 bytes
Total code size saved: 33,555 bytes
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
36903002
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 28 Oct 2013 09:36:49 +0000 (09:36 +0000)]
Generalize AllocationSite field access in HObjectAccess.
There are simply becoming too many individual field accessors, and
more are coming.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
43563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Oct 2013 09:01:33 +0000 (09:01 +0000)]
Fix --hydrogen-filter="-".
SubVector asserts that the vector length is not 0 and fails.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
43873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 07:24:19 +0000 (07:24 +0000)]
Tune mjsunit/compiler/expression-trees.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
43703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 07:23:27 +0000 (07:23 +0000)]
Tune mjsunit/array-functions-prototype-misc
Again, this brings testing times down quite a bit without losing test
coverage.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
44143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 25 Oct 2013 20:42:51 +0000 (20:42 +0000)]
Handlify JSObject::PrepareElementsForSort
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
32523008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 25 Oct 2013 13:21:46 +0000 (13:21 +0000)]
Fix bug in nextWeaker function of deltablue benchmark.
It does not seem to affect the correctness of the particular
workload it is currently running.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
13994003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 25 Oct 2013 13:10:25 +0000 (13:10 +0000)]
Simplify test-mark-compact/NoPromotion test.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
42543008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 25 Oct 2013 12:26:47 +0000 (12:26 +0000)]
The Elements pointer in a JSObject can have a filler map instead of a
valid fixed array, iff a gc occurred while allocating a fixed array as
part of array construction. Heap verification needs protection against
examining the elements object in this case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
43383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 25 Oct 2013 11:55:56 +0000 (11:55 +0000)]
Reland "Make Array.prototype.pop throw if the last element is not configurable."
This relands r17346.
R=machenbach@chromium.org
BUG=311164
Review URL: https://codereview.chromium.org/
43923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Oct 2013 11:25:27 +0000 (11:25 +0000)]
Fix release build failures due to --enable-slow-asserts
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
43943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17393
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Oct 2013 11:10:28 +0000 (11:10 +0000)]
Define DEBUG for v8_optimized_debug=2
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).
R=jkummerow@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
39183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 25 Oct 2013 09:58:21 +0000 (09:58 +0000)]
Make top and limit field in AllocationInfo private, assert on non-aligned setting of these fields, and eliminate indirect access over top address on top pointer.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
40083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 25 Oct 2013 09:22:12 +0000 (09:22 +0000)]
Prepare push to trunk. Now working on version 3.22.23.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
43663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Oct 2013 08:57:50 +0000 (08:57 +0000)]
Tune mjsunit/regexp-global.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
42993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Oct 2013 07:24:08 +0000 (07:24 +0000)]
Tune cctest/test-parsing/ParserSync.
This test suffers heavily from combinatorial explosion. To redemedy
this situation a bit, two independent parsing flags are tested
separately, reducing the runtime by a factor of 4. Furthermore, the
code has been cleaned up a bit.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
40113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 25 Oct 2013 05:52:11 +0000 (05:52 +0000)]
The "TESTFLAGS" is now added to Android .check build to be consistent with other platform build.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
39273004
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 25 Oct 2013 02:12:17 +0000 (02:12 +0000)]
Introduce MoveDouble to the X64 MacroAssembler
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
26216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Oct 2013 19:01:30 +0000 (19:01 +0000)]
Enable double alignment for constructed arrays.
2nd (of 3) CL's to ensure complete alignment of FixedDoubleArrays.
TEST=
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
35133002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 24 Oct 2013 17:27:58 +0000 (17:27 +0000)]
Make the message test suite run without slow asserts.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
39303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 24 Oct 2013 16:38:26 +0000 (16:38 +0000)]
Remove specialized raw Cell and Map allocators.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
30023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Oct 2013 13:30:40 +0000 (13:30 +0000)]
Temporarily disable mjsunit/regress/regress-2612 to make our tree green again.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
40203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Oct 2013 13:07:16 +0000 (13:07 +0000)]
Tune mjsunit/regress/regress-2612.
Lower the bounds to something bearable which would still timeout if we
used a quadratic algorithm.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
39863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 24 Oct 2013 12:40:34 +0000 (12:40 +0000)]
Handle constants in new space on arm by making macro-assembler smarter.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
30023005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:25:40 +0000 (12:25 +0000)]
Add performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Committed: https://code.google.com/p/v8/source/detail?r=17368
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:16:00 +0000 (12:16 +0000)]
Revert "Fix shared library build after r17368." and "Add performance.now() to the d8 shell.".
This reverts commit r17372 and r17368 for breaking the shared
library build.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
40043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:08:58 +0000 (12:08 +0000)]
Get rid of unused STRING_ADD_ERECT_FRAME flag.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
39803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 11:59:09 +0000 (11:59 +0000)]
Fix shared library build after r17368.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
40033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 24 Oct 2013 10:50:35 +0000 (10:50 +0000)]
Add code age subtype tracking to --track-gc-object-stats
Adds counters which track the age of code in the heap during a gc if
--track-gc-object-stats is enabled.
- Splits RecordObjectStats into RecordObjectStats, RecordCodeSubTypeStats and
RecordFixedArraySubTypeStats.
- Renames kNoAge to kNoAgeCodeAge to follow other code age enums and enable
the name to be used in Macro based initialization of the counters.
BUG=None
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
26179004
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 10:48:18 +0000 (10:48 +0000)]
Add performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 10:42:02 +0000 (10:42 +0000)]
Revert "Add window.performance.now() to the d8 shell."
This reverts commit r17366 for breaking the mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
38753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 09:27:17 +0000 (09:27 +0000)]
Add window.performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 24 Oct 2013 09:26:55 +0000 (09:26 +0000)]
Record allocation stack traces
This is initial implementation of allocation profiler.
Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.
Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.
This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.
BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
34733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 09:23:32 +0000 (09:23 +0000)]
Prepare push to trunk. Now working on version 3.22.22.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
39393005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Oct 2013 08:09:32 +0000 (08:09 +0000)]
Removed long-running obselete test case.
The test was the 2nd longest-running test case in debug mode, and the
stuff it tests has already been moved long ago to some other place,
which is in turn heavily tested by far simpler and faster things
(%TruncateString etc.).
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
39233003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 24 Oct 2013 07:48:23 +0000 (07:48 +0000)]
Revert "Make Array.prototype.pop throw if the last element is not configurable."
This reverts commit r17346.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
39593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Oct 2013 07:42:29 +0000 (07:42 +0000)]
MIPS: Increase code space first page size due to r17334.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
39363004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Thu, 24 Oct 2013 07:40:31 +0000 (07:40 +0000)]
Fix r17253.
There's no reason why the setObjectGroupIde / setReferenceFromGroups funcs should've been called twice.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
39573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 24 Oct 2013 07:38:50 +0000 (07:38 +0000)]
Use PopReturnAddressTo and PushReturnAddressFrom in Generate_MarkCodeAsExecutedOnce builtin function for X64
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
38613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Oct 2013 07:03:52 +0000 (07:03 +0000)]
Fix ARM build on mac.
Remove a couple unused vars left behind after r16676. Clang on mac
is pickier than gcc on linux, specifically gcc does not complain about
unused class member variables.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
39193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 06:31:18 +0000 (06:31 +0000)]
Prepare push to trunk. Now working on version 3.22.21.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
39483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17353
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 24 Oct 2013 02:12:51 +0000 (02:12 +0000)]
Introduce xchgl, orl, roll, subl, testl and xorl into X64 assembler
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
26780004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 24 Oct 2013 01:27:47 +0000 (01:27 +0000)]
Use the correct version of movq for ExternalReference in X64
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
26410004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Wed, 23 Oct 2013 22:02:14 +0000 (22:02 +0000)]
Handlify Map::CopyInstallDescriptors
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
34603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Wed, 23 Oct 2013 19:47:38 +0000 (19:47 +0000)]
Handlify Map::CopyNormalized
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
32483006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 23 Oct 2013 18:05:27 +0000 (18:05 +0000)]
Removed redundant definition of new space top in serializer.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
30403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 23 Oct 2013 16:57:57 +0000 (16:57 +0000)]
Handle new space constants on ia32 by using in a register in Lithium.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
35413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 23 Oct 2013 16:19:24 +0000 (16:19 +0000)]
Make Array.prototype.pop throw if the last element is not configurable.
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.
TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();
By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
29513004
Patch from Yanagi <admin@web-tinker.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 23 Oct 2013 15:15:15 +0000 (15:15 +0000)]
Fix HObjectAccess for loads from migrating prototypes
BUG=chromium:305309
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
35173005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 23 Oct 2013 13:50:01 +0000 (13:50 +0000)]
Fix MEMORY_SANITIZER macro redefinition error.
MEMORY_SANITIZER is defined by default in certain compiler environments (when
MemorySanitizer is enabled, of course). Do not redefine it in that case.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
34503012
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 23 Oct 2013 13:48:04 +0000 (13:48 +0000)]
Enable preaging of code objects when --optimize-for-size.
This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is reset to the young age, thus being kept around for the same number of GC generations as currently.
BUG=280984
R=danno@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
23480031
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 23 Oct 2013 13:03:15 +0000 (13:03 +0000)]
HCheckInstanceType factories unified
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
35413007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 23 Oct 2013 12:49:27 +0000 (12:49 +0000)]
Use common allocation choke point in Heap::AllocateConstantPoolArray.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
37003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 23 Oct 2013 12:38:06 +0000 (12:38 +0000)]
Expose v8::Function::GetDisplayName to public API.
BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys
Committed: https://code.google.com/p/v8/source/detail?r=17324
Review URL: https://codereview.chromium.org/
26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 23 Oct 2013 12:34:39 +0000 (12:34 +0000)]
PushAndAdd() usages refactored.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
36893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 23 Oct 2013 12:30:38 +0000 (12:30 +0000)]
Revert "Disable allocation folding when allocations tracking is on"
This reverts r17337. The new test fails on V8 linux - shared: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4726/steps/Check/logs/stdio
TBR=mvstanton@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/
37073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 23 Oct 2013 12:19:12 +0000 (12:19 +0000)]
Disable allocation folding when allocations tracking is on
BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org, mvstanton@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
32583002
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 23 Oct 2013 10:47:51 +0000 (10:47 +0000)]
Simplify ObjectVisitor for external references.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
36853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 23 Oct 2013 10:41:21 +0000 (10:41 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
32643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 23 Oct 2013 08:57:54 +0000 (08:57 +0000)]
Crankshaft builtins.
Enable optimizing compiler for V8 built-ins. Also fixes an issue uncovered in
x64 codegen.
R=danno@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
34503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 23 Oct 2013 08:47:15 +0000 (08:47 +0000)]
Make macro-assembler-x64 deal with handles to objects in new space by default.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
34753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 23 Oct 2013 08:46:46 +0000 (08:46 +0000)]
force accessor pair accesses backed by simple api calls to be generic accesses when crankshafted
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
34773003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 23 Oct 2013 08:39:15 +0000 (08:39 +0000)]
Partially annotate V8 for MemorySanitizer.
This is a part of https://codereview.chromium.org/
26006004/.
These changes are enough to run most apps that embed V8 (by additionally
ignoring all memory accesses from V8), but don't help testing V8 itself in any
way.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
27471003
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 23 Oct 2013 06:50:44 +0000 (06:50 +0000)]
Prepare push to trunk. Now working on version 3.22.20.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
32693004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 22 Oct 2013 17:41:08 +0000 (17:41 +0000)]
Handlify Map::CopyForObserved
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
34023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 22 Oct 2013 17:03:57 +0000 (17:03 +0000)]
Condense flag definitions a bit.
This makes it easy to spot the default value of a flag when grepping the
code as the default value appears on the same line as the name now.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
35213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 22 Oct 2013 15:46:15 +0000 (15:46 +0000)]
Revert "Expose v8::Function::GetDisplayName to public API."
This reverts commit
54c7b9af65dd349405944bd9ae2f064202dc6e1d.
The new test fails in debug mode.
BUG=chromium:17356
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
30443006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 22 Oct 2013 14:57:19 +0000 (14:57 +0000)]
Expose v8::Function::GetDisplayName to public API.
BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys
Review URL: https://codereview.chromium.org/
26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 22 Oct 2013 14:50:20 +0000 (14:50 +0000)]
Expose v8::Function::IsBuiltin to public API.
This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.
We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.
BUG=chromium:261470
R=mstarzinger@chromium.org, yurys@chromium.org, dcarney@chromium.org, yurys
Review URL: https://codereview.chromium.org/
27701002
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 22 Oct 2013 14:43:53 +0000 (14:43 +0000)]
Enable escape analysis for Hydrogen.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
34833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 22 Oct 2013 13:48:54 +0000 (13:48 +0000)]
Fix materialization of captured objects with field tracking.
R=titzer@chromium.org
BUG=chromium:298990
TEST=mjsunit/compiler/escape-analysis-representation
Review URL: https://codereview.chromium.org/
35133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 22 Oct 2013 13:02:04 +0000 (13:02 +0000)]
Temporarily deactive regress-2185-2 until our array handling is in good shape again.
BUG=v8:2950
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
30443005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00