yangguo
7819c593e8
Add payload checksum to code cache data.
...
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/907013002
Cr-Commit-Position: refs/heads/master@{#26529}
2015-02-09 14:49:47 +00:00
yangguo
7f4d207c8b
Add hash fields to code cache header.
...
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/909473002
Cr-Commit-Position: refs/heads/master@{#26490}
2015-02-06 15:20:52 +00:00
bmeurer
c65ae4f10c
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/877753007
Cr-Commit-Position: refs/heads/master@{#26346}
2015-01-30 09:29:41 +00:00
Benedikt Meurer
883852293a
Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
This reverts commit 6a4c0a3bae
and commit
0deaa4b629
for breaking GCC bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/893533003
Cr-Commit-Position: refs/heads/master@{#26342}
2015-01-30 07:19:57 +00:00
bmeurer
0deaa4b629
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/888613002
Cr-Commit-Position: refs/heads/master@{#26340}
2015-01-30 06:25:36 +00:00
yangguo
ace94df558
Use back reference map to find references to global proxy.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/825933004
Cr-Commit-Position: refs/heads/master@{#26114}
2015-01-16 22:22:30 +00:00
yangguo
fe82e03bb6
Correctly reference global proxy in the partial snapshot.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/853493003
Cr-Commit-Position: refs/heads/master@{#26061}
2015-01-14 16:42:30 +00:00
yangguo
bcab9eacf3
Update references to global object after deserializing context.
...
R=jochen@chromium.org
TEST=test-serialize/CustomContext{Des,S}erialization
Also test by
- make ia32.debug embedscript=<full path to mjsunit.js>
- d8 -e "assertDoesNotThrow('print(1)')"
Review URL: https://codereview.chromium.org/846023002
Cr-Commit-Position: refs/heads/master@{#26035}
2015-01-13 08:48:08 +00:00
yangguo
d06f1db31f
Fix unsafe unaligned accesses in the serializer/deserializer.
...
R=svenpanne@chromium.org
BUG=v8:3771
LOG=N
Review URL: https://codereview.chromium.org/841943002
Cr-Commit-Position: refs/heads/master@{#25995}
2015-01-08 13:18:55 +00:00
ishell
9134c7a629
PropertyType is divided into PropertyKind and PropertyStoreMode.
...
Review URL: https://codereview.chromium.org/786193004
Cr-Commit-Position: refs/heads/master@{#25798}
2014-12-12 13:06:08 +00:00
svenpanne
71bb00e261
Consistently use only one of virtual/OVERRIDE/FINAL.
...
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance .
While we're here, port r24662 to x87.
The net result is that v8 compiles again with a current clang.
BUG=v8:3753
LOG=y
Review URL: https://codereview.chromium.org/797943002
Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +00:00
yangguo
7cff32a9bd
Reland "Use same blob format for internal and external snapshots."
...
Review URL: https://codereview.chromium.org/791723004
Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
machenbach
da6dbe78bc
Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/787033002/ )
...
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293
Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/792563002
Cr-Commit-Position: refs/heads/master@{#25729}
2014-12-09 16:19:57 +00:00
yangguo
03ba4becbf
Use same blob format for internal and external snapshots.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/787033002
Cr-Commit-Position: refs/heads/master@{#25727}
2014-12-09 15:12:27 +00:00
yangguo
ab234760d7
Reland "Encode reservation meta data in the snapshot blob."
...
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg,v8_linux_nosnap_rel
Review URL: https://codereview.chromium.org/781943002
Cr-Commit-Position: refs/heads/master@{#25681}
2014-12-05 13:03:30 +00:00
machenbach
ccf68a7b92
Revert of Encode reservation meta data in the snapshot blob. (patchset #3 id:40001 of https://codereview.chromium.org/781443002/ )
...
Reason for revert:
[sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/1540
Original issue's description:
> Encode reservation meta data in the snapshot blob.
>
> This also makes reserving multiple chunks per object space possible.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,baixo@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/780833002
Cr-Commit-Position: refs/heads/master@{#25654}
2014-12-04 10:31:33 +00:00
yangguo
aa3ceb8b71
Encode reservation meta data in the snapshot blob.
...
This also makes reserving multiple chunks per object space possible.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/781443002
Cr-Commit-Position: refs/heads/master@{#25652}
2014-12-04 09:50:39 +00:00
yangguo
07584119ca
Serializer: cache recent back references for shorter encoding.
...
And some refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/766893002
Cr-Commit-Position: refs/heads/master@{#25629}
2014-12-03 09:12:37 +00:00
yangguo
4893c0e3d8
Serializer: use opcode to signal new chunk.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/757813003
Cr-Commit-Position: refs/heads/master@{#25566}
2014-11-28 12:07:49 +00:00
yangguo
4590e4f4d6
Ensure double alignment when deserializing.
...
R=rmcilroy@chromium.org
BUG=chromium:436510
LOG=N
TEST=compile with V8_OOL_CONSTANT_POOL=1, run d8 with --verify-heap --test
Review URL: https://codereview.chromium.org/759823006
Cr-Commit-Position: refs/heads/master@{#25534}
2014-11-27 09:22:28 +00:00
yangguo
7e2ebd4c00
Reland "Soft fail for invalid cache data."
...
Review URL: https://codereview.chromium.org/733023003
Cr-Commit-Position: refs/heads/master@{#25378}
2014-11-17 12:16:40 +00:00
Daniel Vogelheim
f83f10973e
Revert "Soft fail for invalid cache data."
...
This reverts commit eafce666f4
.
Original commit failed some tests w/ memory leaks.
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724053004
Cr-Commit-Position: refs/heads/master@{#25336}
2014-11-13 16:47:05 +00:00
Yang Guo
eafce666f4
Soft fail for invalid cache data.
...
API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/724023002
Cr-Commit-Position: refs/heads/master@{#25335}
2014-11-13 15:42:47 +00:00
mvstanton@chromium.org
c65edf93b1
Fix for bug 429168, PdfJs regression. We pay a very high cost for AllocationResult being a > kPointerSize struct. This can be avoided by using Smis to indicate failure with retry spaces.
...
BUG=429168
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/699473002
Cr-Commit-Position: refs/heads/master@{#25057}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 08:43:40 +00:00
yangguo@chromium.org
3a3d5e741a
Break allocations in the code serializer into correct chunk sizes.
...
This change has been inspired by Slava Chigrin <vchigrin@yandex-team.ru> (https://codereview.chromium.org/689663002/ )
R=mvstanton@chromium.org , vchigrin@yandex-team.ru
Review URL: https://codereview.chromium.org/686103004
Cr-Commit-Position: refs/heads/master@{#25039}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 14:43:43 +00:00
jkummerow@chromium.org
afb3968bc8
Add a few missing overrides found by a new clang warning.
...
Namely, -Winconsistent-missing-override. No behavior change.
BUG=v8:3658
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/688533002
Cr-Commit-Position: refs/heads/master@{#24994}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:31:58 +00:00
yangguo@chromium.org
0e1124842a
Tweaks to the code serializer.
...
- consider the source string as a special sort of back reference.
- use repeat op code for more root members.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/674883002
Cr-Commit-Position: refs/heads/master@{#24871}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:09 +00:00
yangguo@chromium.org
e6ac285bd3
Log code event for deserialized code.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/663453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 08:37:03 +00:00
yangguo@chromium.org
aaa104c8da
De-virtualize snapshot sink.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/669133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 11:23:57 +00:00
yangguo@chromium.org
cedd140126
Fix memory leak in RootIndexMap.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/671153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 09:32:18 +00:00
yangguo@chromium.org
b6f66b5fc7
Second compile fix to r24826.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/645163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 09:01:09 +00:00
yangguo@chromium.org
c5a040fcf8
Fix compile errors in r24826.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/656793005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:56:54 +00:00
yangguo@chromium.org
601b776e7e
Use hash map to look for objects in the root array when serializing.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/645533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:43:17 +00:00
yangguo@chromium.org
7753ace135
Small fixes for the code serializer.
...
- assertions regarding max heap object size.
- ensure string table capacity upfront.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/671843003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:25:42 +00:00
yangguo@chromium.org
8cc5d418ee
Special handling for inline caches in code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/656533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 08:46:11 +00:00
sigurds@chromium.org
2577d6c261
Fix compilation after r24639
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/653353003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:42:32 +00:00
yangguo@chromium.org
4f9fd83d85
Break deserializer reservations into chunks that fit onto a page.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/653033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:04:53 +00:00
yangguo@chromium.org
43ddad10b3
Handle external strings in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/623453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 07:12:46 +00:00
yangguo@chromium.org
ad24cdae72
Do not serialize non-lazy compiled function literals.
...
... and some small refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/594513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:53:22 +00:00
yangguo@chromium.org
667f15a104
Fix serializing ICs.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/587213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:14:05 +00:00
yangguo@chromium.org
1257f35c21
Support large objects in the serializer/deserializer.
...
R=hpayer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/581223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:32:13 +00:00
yangguo@chromium.org
a49ac519c8
Serialize code stubs using stub key.
...
Also add some tracing to the code serializer.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/556243005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:50:17 +00:00
yangguo@chromium.org
4e670fd05e
Rename ascii to one-byte where applicable.
...
R=dcarney@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/559913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:38:12 +00:00
yangguo@chromium.org
0fb57e51d4
Check that external references are registered in the serializer.
...
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>
R=jkummerow@chromium.org , vchigrin@yandex-team.ru
Review URL: https://codereview.chromium.org/441983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 07:20:14 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
yangguo@chromium.org
ed04566cba
Correctly hook up back references to internalized strings in code deserializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/411483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:16:32 +00:00
yangguo@chromium.org
ef734e2686
Verify that source string matches serialized code.
...
R=mvstanton@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/394793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
yangguo@chromium.org
23eebeedbe
Fix assertion failure. Use Vector instead of List in code deserializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/390353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 11:01:03 +00:00
yangguo@chromium.org
ed744ffa17
Do not dump user source code in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/390303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
yangguo@chromium.org
fd57811644
Fix up internalized strings after deserializing user code.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/387343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00