- 12 Apr, 2013 1 commit
-
-
jkummerow@chromium.org authored
Review URL: https://codereview.chromium.org/13880018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14244 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
-
- 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
-
- 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
-
- 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
-
- 08 Sep, 2011 1 commit
-
-
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
-
- 07 Sep, 2011 1 commit
-
-
lrn@chromium.org authored
Duplicate identifier detection must be an early syntax error in strict code, so errors in otherwise lazily compiled functions must be caught in the preparser. Originally introduced in r8541 and reverted in r8542. Now really compiles on Windows. Review URL: http://codereview.chromium.org/7782023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Aug, 2011 1 commit
-
-
keuchel@chromium.org authored
Implementation of the harmony block scoped let bindings as proposed here: http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings Changes to the syntax are explained there. They are active under the harmony_block_scoping_ flag in the parser. Review URL: http://codereview.chromium.org/7616009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jul, 2011 2 commits
-
-
lrn@chromium.org authored
Doesn't work on Windows yet. Crashes some layout-tests. Review URL: http://codereview.chromium.org/7278039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
This is a fix and reapply of r8516 with some comments addressed and more tests added. The difference from r8516 is that canonicalization of number literals is no performed using the same methods as in v8, to avoid false positives/negatives when detecting duplicates. Review URL: http://codereview.chromium.org/7193045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2011 2 commits
-
-
lrn@chromium.org authored
Revision 8516 contained a temporary hack that doesn't work on Windows. TBR: ricow Review URL: http://codereview.chromium.org/7298008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Add tests for duplicate properties of object initialisers to preparser. TEST=preparser Review URL: http://codereview.chromium.org/7168016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8517 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
-
- 21 Jun, 2011 1 commit
-
-
lrn@chromium.org authored
A multi-line comment containing a newline is considered a line-terminator for other purposes, but a "-->" following such a comment is considered as being on the same line as the text preceeding the multi-line comment. This behavior matches JSC matching Firefox. TEST=cctest/test-parsing/ScanHTMLEndComments Review URL: http://codereview.chromium.org/7218009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2011 1 commit
-
-
lrn@chromium.org authored
Handle octal escapes in everything but RegExps. Extend preparser test suite to test whether the preparser reports exceptions to throw. TEST=preparser/* Review URL: http://codereview.chromium.org/6927075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7804 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
-
- 30 Mar, 2011 1 commit
-
-
lrn@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6771015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7420 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
-
- 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
-
- 04 Jan, 2011 1 commit
-
-
lrn@chromium.org authored
Allow object initializers to define getters using string and number literals. Review URL: http://codereview.chromium.org/5985010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Dec, 2010 1 commit
-
-
lrn@chromium.org authored
Changed implementation of pushback in preparer character stream. Removed assert that isn't satisfied by in test-cases, but only by the real code. Make preparser compile again. Review URL: http://codereview.chromium.org/5593004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5946 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
-