- 19 Jun, 2017 1 commit
-
-
Wiktor Garbacz authored
Unify, simplify logic, reduce UTF8 specific handling. Intend of this is also to have stream views. Stream views can be used concurrently by multiple threads, but only one thread may fetch new data from the underlying source. This together with unified stream view creation is intended to be used for parse tasks. BUG=v8:6093 Change-Id: I83c6f1e6ad280c28da690da41c466dfcbb7915e6 Reviewed-on: https://chromium-review.googlesource.com/535474Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45994}
-
- 09 Jun, 2017 1 commit
-
-
Wiktor Garbacz authored
Also, as this is hard to track down, always DCHECK position after ReadBlock(). Change-Id: Ie32c3a311dd8df91f651b6d82ccacc7c95e6fde0 Reviewed-on: https://chromium-review.googlesource.com/528196 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#45811}
-
- 06 Jun, 2017 1 commit
-
-
Marja Hölttä authored
This reverts commit 7fa071a4. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=729482 Original change's description: > Reland [parser] Refactor streaming scanner streams. > > Unify, simplify logic, reduce UTF8 specific handling. > > Intend of this is also to have stream views. > Stream views can be used concurrently by multiple threads, but > only one thread may fetch new data from the underlying source. > This together with unified stream view creation is intended to be > used for parse tasks. > > BUG=v8:6093 > > Change-Id: I3bce48185fa2c986d16619a9a8ece3ff4c4f5e60 > Reviewed-on: https://chromium-review.googlesource.com/509489 > Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Wiktor Garbacz <wiktorg@google.com> > Cr-Commit-Position: refs/heads/master@{#45688} TBR=marja@chromium.org,vogelheim@chromium.org,wiktorg@google.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=v8:6093 Change-Id: Iefa7c43a2f6ae3a7f3ef0f77d87b6ae36ae4be99 Reviewed-on: https://chromium-review.googlesource.com/525712Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45725}
-
- 02 Jun, 2017 1 commit
-
-
Wiktor Garbacz authored
Unify, simplify logic, reduce UTF8 specific handling. Intend of this is also to have stream views. Stream views can be used concurrently by multiple threads, but only one thread may fetch new data from the underlying source. This together with unified stream view creation is intended to be used for parse tasks. BUG=v8:6093 Change-Id: I3bce48185fa2c986d16619a9a8ece3ff4c4f5e60 Reviewed-on: https://chromium-review.googlesource.com/509489Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45688}
-
- 18 May, 2017 1 commit
-
-
Adam Klein authored
This reverts commit ce538f70. Reason for revert: breaks BOM handling (thus breaking Outlook web apps). Original change's description: > [parser] Refactor streaming scanner streams. > > Unify, simplify logic, reduce UTF8 specific handling. > > Intend of this is also to have stream views. > Stream views can be used concurrently by multiple threads, but > only one thread may fetch new data from the underlying source. > This together with unified stream view creation is intended to be > used for parse tasks. > > BUG=v8:6093 > > Change-Id: Ied8e93090c506d4735080298f0fdaeed32043915 > Reviewed-on: https://chromium-review.googlesource.com/501789 > Commit-Queue: Wiktor Garbacz <wiktorg@google.com> > Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45336} TBR=marja@chromium.org,vogelheim@chromium.org,jochen@chromium.org,wiktorg@google.com BUG=v8:6093, chromium:724166 Change-Id: I022a23b8052d20d83a640c07b7864c622548bf90 Reviewed-on: https://chromium-review.googlesource.com/508888Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45404}
-
- 16 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Unify, simplify logic, reduce UTF8 specific handling. Intend of this is also to have stream views. Stream views can be used concurrently by multiple threads, but only one thread may fetch new data from the underlying source. This together with unified stream view creation is intended to be used for parse tasks. BUG=v8:6093 Change-Id: Ied8e93090c506d4735080298f0fdaeed32043915 Reviewed-on: https://chromium-review.googlesource.com/501789 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45336}
-
- 09 May, 2017 1 commit
-
-
Wiktor Garbacz authored
BUG=v8:6377 Change-Id: I5bdd41bdda83d7efe4b37d24d44e2e8c2339a30a Reviewed-on: https://chromium-review.googlesource.com/500168 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#45204}
-
- 03 May, 2017 1 commit
-
-
Wiktor Garbacz authored
If a negative value is passed as end position it may get past the end without triggering any DCHECK due to int to size_t cast. BUG=v8:6093 Change-Id: I0c6be0e8442049cc4b7fc87593ad018bce4b677e Reviewed-on: https://chromium-review.googlesource.com/494108 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45068}
-
- 30 Jan, 2017 1 commit
-
-
marja authored
The bug used to show up when - we were streaming a script starting with 0xef 0xbb 0xbf - we aborted preparsing a function (and reset to a bookmark) BUG=chromium:685618 Review-Url: https://codereview.chromium.org/2663773002 Cr-Commit-Position: refs/heads/master@{#42790}
-
- 05 Dec, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2549083002 Cr-Commit-Position: refs/heads/master@{#41492}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2481013010 Cr-Commit-Position: refs/heads/master@{#40927}
-
- 03 Nov, 2016 1 commit
-
-
predrag.rudic authored
Removed a wrong condition test in TwoByteExternalBufferedStream. This changed fixes errors that may occur under some conditions. Review-Url: https://codereview.chromium.org/2469723002 Cr-Commit-Position: refs/heads/master@{#40722}
-
- 28 Oct, 2016 1 commit
-
-
predrag.rudic authored
TEST=ctest/test-scanner-streams/CharacterStreams BUG= Review-Url: https://codereview.chromium.org/2415093002 Cr-Commit-Position: refs/heads/master@{#40637}
-
- 05 Oct, 2016 1 commit
-
-
vogelheim authored
R=jochen@chromium.org BUG=chromium:651333, v8:4947 Review-Url: https://codereview.chromium.org/2391273002 Cr-Commit-Position: refs/heads/master@{#40004}
-
- 21 Sep, 2016 1 commit
-
-
vogelheim authored
(This should enable to drop the BOM handling in the Blink bindings.) R=marja@chromium.org BUG=v8:4947 Review-Url: https://codereview.chromium.org/2354973002 Cr-Commit-Position: refs/heads/master@{#39579}
-
- 20 Sep, 2016 1 commit
-
-
jyan authored
R=vogelheim@chromium.org BUG= Review-Url: https://codereview.chromium.org/2354683003 Cr-Commit-Position: refs/heads/master@{#39529}
-
- 16 Sep, 2016 1 commit
-
-
vogelheim authored
- Smaller, more consistent streams API (Advance, Back, pos, Seek) - Remove implementations from the header, in favor of creation functions. Observe: - Performance: - All Utf16CharacterStream methods have an inlinable V8_LIKELY w/ a body of only a few instructions. I expect most calls to end up there. - There used to be performance problems w/ bookmarking, particularly with copying too much data on SetBookmark w/ UTF-8 streaming streams. All those copies are gone. - The old streaming streams implementation used to copy data even for 2-byte input. It no longer does. - The only remaining 'slow' method is the Seek(.) slow case for utf-8 streaming streams. I don't expect this to be called a lot; and even if, I expect it to be offset by the gains in the (vastly more frequent) calls to the other methods or the 'fast path'. - If it still bothers us, there are several ways to speed it up. - API & code cleanliness: - I want to remove the 'old' API in a follow-up CL, which should mostly delete code, or replace it 1:1. - In a 2nd follow-up I want to delete much of the UTF-8 handling in Blink for streaming streams. - The "bookmark" is now always implemented (and mostly very fast), so we should be able to use it for more things. - Testing & correctness: - The unit tests now cover all stream implementations, and are pretty good and triggering all the edge cases. - Vastly more DCHECKs of the invariants. BUG=v8:4947 Review-Url: https://codereview.chromium.org/2314663002 Cr-Commit-Position: refs/heads/master@{#39464}
-
- 25 Aug, 2016 1 commit
-
-
mstarzinger authored
R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2276343004 Cr-Commit-Position: refs/heads/master@{#38911}
-
- 23 Aug, 2016 1 commit
-
-
vogelheim authored
- The static method CopyChars was actually used and has been extracted. - It was used in tests, where it's been replaced w/ ExternalOneByteString... - Only one test actually relied on Utf8 handling (as opposed to ASCII only), and that was the test testing Utf8ToUtf16CharacterStream itself. +66 -277 LOC :) BUG=v8:4947 Review-Url: https://codereview.chromium.org/2256273002 Cr-Commit-Position: refs/heads/master@{#38824}
-
- 29 Jul, 2016 1 commit
-
-
jochen authored
In contrast to the generic stream, this character stream works without accessing the heap, and can be used on a background thread. BUG=v8:5215 R=vogelheim@chromium.org,marja@chromium.org Review-Url: https://codereview.chromium.org/2184393002 Cr-Commit-Position: refs/heads/master@{#38154}
-
- 11 Jan, 2016 1 commit
-
-
yangguo authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1568623004 Cr-Commit-Position: refs/heads/master@{#33207}
-
- 26 Nov, 2015 1 commit
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
- 18 Sep, 2015 1 commit
-
-
vogelheim authored
R=jochen@chromium.org BUG=chromium:533243 LOG=N Review URL: https://codereview.chromium.org/1356863002 Cr-Commit-Position: refs/heads/master@{#30830}
-
- 16 Sep, 2015 1 commit
-
-
vogelheim authored
BUG=v8:4422 R=jochen@chromium.org LOG=Y Review URL: https://codereview.chromium.org/1346613002 Cr-Commit-Position: refs/heads/master@{#30763}
-
- 20 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1285183010 Cr-Commit-Position: refs/heads/master@{#30263}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 29 May, 2015 1 commit
-
-
vogelheim authored
R=jochen@chromium.org BUG=chromium:470930 LOG=N Review URL: https://codereview.chromium.org/1156103015 Cr-Commit-Position: refs/heads/master@{#28700}
-
- 27 May, 2015 1 commit
-
-
vogelheim authored
The DCHECK was a lie. The idea was that - when a bookmark is set - the scanner must clearly be at a character boundary and hence the bookmark does not need to save a 'partial' UTF-8 code point. The first part is true - the Scanner is always at a character boundary - but the 'partial' UTF-8 code point is at the end of a block, not at the current character position of the Scanner. Hence, the 'partial' character needs to be saved as well. jkummerow: Thanks for noticing. BUG=chromium:470930 R=jochen@chromium.org, jkummerow@chromium.org LOG=N Review URL: https://codereview.chromium.org/1154773004 Cr-Commit-Position: refs/heads/master@{#28661}
-
- 26 May, 2015 1 commit
-
-
vogelheim authored
(Requires the embedder's ExternalSourceStream implementation to cooperate. See crrev.com/1154883003 for Blink.) R=jochen@chromium.org BUG=chromium:470930 LOG=Y Review URL: https://codereview.chromium.org/1156733002 Cr-Commit-Position: refs/heads/master@{#28610}
-
- 06 May, 2015 1 commit
-
-
vogelheim authored
long and trivial functions, so that they can be eagerly compiled after all. This essentially allows the parser to renege on its earlier decision to lazy-parse, if additional information suggests it was a bad decision. BUG=chromium:470930 LOG=Y Review URL: https://codereview.chromium.org/1102523003 Cr-Commit-Position: refs/heads/master@{#28252}
-
- 05 Feb, 2015 1 commit
-
-
marja authored
size_t is the correct data type for this purpose. Our APIs (in particular ExternalSourceStream::GetMoreData) are already using it, and there were some static_casts to convert between them. This CL doesn't intend to fix all of V8, just the minimal sense-making part around scanner character streams. BUG= Review URL: https://codereview.chromium.org/864273005 Cr-Commit-Position: refs/heads/master@{#26449}
-
- 20 Oct, 2014 1 commit
-
-
marja@chromium.org authored
1) Since we fill the output buffer both from the chunks and the conversion buffer, it's possible that we run out of space and call CopyCharsHelper with 0 length. The underlying functions don't handle it gracefully, so check there. 2) There was a bug where we used to try to copy too many characters from the beginning of the data chunk into the conversion buffer. Continuation bytes in UTF-8 are of the form 0b10XXXXXX. If a byte is bigger than that, it's the first byte of a new UTF-8 character and we should ignore it. These two together (or maybe in combination with surrogates) are a probable reason for crbug.com/420932. 3) The test data was off; \uc481 is \xec\x92\x81. BUG=420932 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/662003003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2014 1 commit
-
-
marja@chromium.org authored
The problem was that there can be several multi-byte UTF-8 characters near the splitting point of the data chunks, and the code didn't handle it properly. This was also the source of crbug.com/417891 - I thought the crash can only happen when V8 is passed invalid UTF-8 data, but it can also happen in the abovementioned case. After the fix, we handle the valid UTF-8 case and also guard against invalid UTF-8 data. R=yangguo@chromium.org BUG=chromium:417891 LOG=N Review URL: https://codereview.chromium.org/654503002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Sep, 2014 1 commit
-
-
marja@chromium.org authored
Invalid UTF-8 data can contain too many characters which look like they're part of a multi-byte character, and that was overflowing a buffer. BUG=chromium:417891 LOG=n . R=yangguo@chromium.org Review URL: https://codereview.chromium.org/607043002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2014 1 commit
-
-
marja@chromium.org authored
Blink will use this API to stream script data into V8 as the scripts load. During loading, V8 can already parse the scripts. They will be then compiled and executed when the loading is complete. This is a reincarnation of https://codereview.chromium.org/366153002/ with fixes. BUG= R=jochen@chromium.org, rossberg@chromium.org, svenpanne@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/566553002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 2 commits
-
-
marja@chromium.org authored
This reverts r23865 Revert "Fix compilation after r23865." This reverts r23867 Reason: the test contains characters too special for Windows's taste. TBR=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/545203003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Blink will use this API to stream script data into V8 as the scripts load. During loading, V8 can already parse the scripts. They will be then compiled and executed when the loading is complete. BUG= R=jochen@chromium.org, rossberg@chromium.org, svenpanne@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/366153002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
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
-
- 09 Jul, 2014 1 commit
-
-
marja@chromium.org authored
1) Call DeserializeScopeChain only if it's going to do something non-trivial. And we only need to internalize the AstValueFactory in those cases. 2) BufferedUtf16CharacterStream::FillBuffer doesn't need the length argument. The length is always kBufferSize and the subclasses can just read it (it's protected). R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/381613003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-