Reviewers: rossberg,

Message:
rossberg@, ptal

Here's a new try of https://codereview.chromium.org/314603004 (I reverted the
previous try).

For your convenience, the final version of
https://codereview.chromium.org/314603004 is patch set 1, so you can just review
the changes.

Changes compared to the previous version:
- Added a possibility for AstString to be a cons string. This is important,
otherwise FuncNameInferrer will end up internalizing a ton of strings
(foo.bar.baz, foo.bar.quux) separately, and that's not good for the memory
consumption (and GC gets triggered and that affects the run time... -> horror).
- Rewrote the logic in FuncNameInferrer; now it matches the original logic
before this internalization work.
- Put AstStrings into the Zone instead of this weird "Collector of vectors".
It's more elegant that way.
- Added some ASSERTs in ast.h
- Fixed TestScanRegExp (we now need the Zone where to put the string)
- When passing Vector, pass const Vector& instead
- Minor variable renaming in ast-value-factory.h.

Description:
New try: Parser: Delay internalizing strings and values

This is a reincarnation of r21841.

The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.

BUG=

Please review this at https://codereview.chromium.org/335293004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+1538, -626 lines):
  M BUILD.gn
  M include/v8.h
  M src/ast.h
  M src/ast.cc
  A src/ast-value-factory.h
  A src/ast-value-factory.cc
  M src/compiler.h
  M src/compiler.cc
  M src/func-name-inferrer.h
  M src/func-name-inferrer.cc
  M src/heap.h
  M src/hydrogen.cc
  M src/interface.h
  M src/interface.cc
  M src/objects.cc
  M src/parser.h
  M src/parser.cc
  M src/preparser.h
  M src/prettyprinter.h
  M src/prettyprinter.cc
  M src/rewriter.cc
  M src/scanner.h
  M src/scanner.cc
  M src/scopeinfo.cc
  M src/scopes.h
  M src/scopes.cc
  M src/utils.h
  M src/utils.cc
  M src/variables.h
  M src/variables.cc
  M test/cctest/test-ast.cc
  M test/cctest/test-parsing.cc
  M tools/gyp/v8.gyp
  M tools/parser-shell.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to