- 16 Apr, 2013 1 commit
-
-
jkummerow@chromium.org authored
Review URL: https://codereview.chromium.org/13932006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This patch refactors the parser and preparser interface to be more readable and type-safe. It has no behavior changes. Previously, parsers and preparsers were configured via bitfield called parser_flags in the Parser constructor, and flags in PreParser::PreParseProgram, ParserApi::Parse, and ParserApi::PreParse. This was error-prone in practice: six call sites passed incorrectly typed values to this interface (a boolean FLAG value, a boolean false and a boolean true value). None of these errors were caught by the compiler because it's just an "int". The parser flags interface was also awkward because it encoded a language mode, but the language mode was only used to turn on harmony scoping or not -- it wasn't used to actually set the parser's language mode. Fundamentally these errors came in because of the desire for a procedural parser interface, in ParserApi. Because we need to be able to configure the parser in various ways, the flags argument got added; but no one understood how to use the flags properly. Also they were only used by constructors: callers packed bits, and the constructors unpacked them into booleans on the parser or preparser. The solution is to allow parser construction, configuration, and invocation to be separated. This patch does that. It passes the existing tests. BUG= Review URL: https://codereview.chromium.org/13450007 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This patchset begins by adding support for "yield", which is unlike other tokens in JS. In a generator, whether strict or classic, it is a syntactic keyword. In classic mode it is an identifier. In strict mode it is reserved. This patch adds YIELD as a token to the scanner, and adapts the preparser and parser appropriately. It also parses "function*", indicating that a function is actually a generator, for both eagerly and lazily parsed functions. Currently "yield" just compiles as "return". BUG=v8:2355 TEST=mjsunit/harmony/generators-parsing Review URL: https://codereview.chromium.org/12646003 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jan, 2013 1 commit
-
-
yangguo@chromium.org authored
Mostly a bunch of renaming when flag is disabled. R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11759008 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jan, 2013 1 commit
-
-
yangguo@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11727004 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2012 1 commit
-
-
yangguo@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11649018 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=erik.corry@gmail.com TEST=test262/S7.8.4_A6.*,test262/S7.8.4_A7.* Review URL: https://chromiumcodereview.appspot.com/9490006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/9600009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Feb, 2012 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9352013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Nov, 2011 1 commit
-
-
lrn@chromium.org authored
Instead use the preparser inline to parse only the lazy function bodies. This is still disabled for small files. More measurements are needed to determine if lazy-compiling small sources is worth it. Review URL: http://codereview.chromium.org/8662037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Nov, 2011 1 commit
-
-
lrn@chromium.org authored
JavaScriptScanner had become the only concrete subclass of Scanner, so there was no longer a need for the distinction. Also fixed up comments. Review URL: http://codereview.chromium.org/8384003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Oct, 2011 1 commit
-
-
vegorov@chromium.org authored
Force inlining of the fast path. Force inlining LiteralBuffer::AddChar and Scanner::AddLiteralChar. R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/8431010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Oct, 2011 1 commit
-
-
lrn@chromium.org authored
Previously the preparser always accepted natives syntax and let the real parser throw the syntax error. In ES5, it should be an early error, so the preparser must catch the error. The perparser library does not expose parsing for natives syntax, it's only used internally. Review URL: http://codereview.chromium.org/8306024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Oct, 2011 1 commit
-
-
rossberg@chromium.org authored
Shorten --harmony-block-scoping to --harmony-scoping. R=keuchel@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8226017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2011 2 commits
-
-
ricow@chromium.org authored
This is all blank line before/after linting errors. Review URL: http://codereview.chromium.org/7754022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
R=lrn@chromium.org Signed-off-by:
Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/7739020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2011 1 commit
-
-
lrn@chromium.org authored
This file should also be renamed to something else, as after many refactors, there isn't any Scanner class in there, just four CharacterStream classes. R=lrn@chromium.org Signed-off-by:
Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/7835019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2011 1 commit
-
-
lrn@chromium.org authored
Now only uses the common superclass of the two scanner classes. Updated comment on KeywordMatcher. Review URL: http://codereview.chromium.org/7211013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2011 1 commit
-
-
ricow@chromium.org authored
The current json parser and scanner inherits fromt he normal scanners and parsers, which are more complicated than we need for parsing json. The supplied scanner works directly on the string supplied and has a fast case mode for scanning only ascii characters (it will simply create a substring or a symbol directly from the existing string). To allow for creating symbols from a substring I have added a SubStringAsciiSymbolKey that creates the hash based from our string without extracting the sub-string. In case we need to add the symbol it simply creates the symbol directly from the characters inside the given string. Review URL: http://codereview.chromium.org/7039037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2011 1 commit
-
-
lrn@chromium.org authored
The ScannerConstants class was originally static fields on the scanner class. During creation of the stand-alone preparser and later isolates, it has been moved into a separate class with a per-isolate instance. It is used to hold caching unicode Predicate values. This change renames the class to UnicodeCache, and passes a reference to the instance down to methods that doesn't have an easy access to an isolate (to avoid, e.g., having to do an Isolate::Current() for every number parsed). Review URL: http://codereview.chromium.org/6824071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Mar, 2011 1 commit
-
-
lrn@chromium.org authored
It should now be possible to build the preparser using 'scons preparser' in both release and debug modes. Remove v8.h include from scanner-base.h and other files. Remove NativeAllocationChecker and all of its kind. Moved Isolate::PreallocatedStorage* to isolate.cc Review URL: http://codereview.chromium.org/6749029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Feb, 2011 1 commit
-
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/6334106 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2011 1 commit
-
-
lrn@chromium.org authored
We don't advance the input cursor past the end of input, so we shouldn't decrease it when we pushback the kEndOfInput marker. Review URL: http://codereview.chromium.org/6246004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2010 1 commit
-
-
lrn@chromium.org authored
Make preparser keep its symbol text itself instead of relying on the scanner. Review URL: http://codereview.chromium.org/6075005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/5545006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
No scons target yet. Review URL: http://codereview.chromium.org/5295004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Optimize scanning of keywords. Review URL: http://codereview.chromium.org/5188009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Remove templates from prescanner. Review URL: http://codereview.chromium.org/5136002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/5063003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/5026005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Make checks.h not depend on flags.h or global.h (or anything else except include/v8stdint.h). Only checks.cc has the dependencies (so another implementation of checks.cc can be provided by the preparser). Now files depending on checks.h (using ASSERT macros) can include it directly without depending on all of v8. Review URL: http://codereview.chromium.org/4576001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/4244003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2010 1 commit
-
-
lrn@chromium.org authored
Switch JSON parsing to creating the value directly instead of createing code to create the value. Review URL: http://codereview.chromium.org/4135004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2010 1 commit
-
-
kmillikin@chromium.org authored
I noticed we sometimes had extra spaces before and after the "const" keyword. Probably the result of a search and replace gone wrong. This is a whitespace only change. Review URL: http://codereview.chromium.org/3427021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Sep, 2010 1 commit
-
-
lrn@chromium.org authored
BUG=None TEST=compiles Patch from Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/3413015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2010 1 commit
-
-
lrn@chromium.org authored
Also add skip to entry, to skip pre-data for the body of the function. Preparser data is now only accessed linearly, in the same order it was created. Review URL: http://codereview.chromium.org/3185026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Aug, 2010 1 commit
-
-
lrn@chromium.org authored
Add a scope object to ensure that leaving a literal scanning prematurely will clean up after itself. Also reset the literal buffer if a scanner is reinitialized with a new source code. Review URL: http://codereview.chromium.org/3137037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-