- 23 Mar, 2010 2 commits
-
-
fschneider@chromium.org authored
This change adds a data-flow pass to statically determine if a variable contains a primitive type. It requires building the flow graph and computing reaching definitions as pre-requisites. The analysis annotates all VariableProxy nodes with the result. Review URL: http://codereview.chromium.org/1132005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
iposva@chromium.org authored
their place. - Add one field to the SharedFunctionInfo to remember the number of literals used in this function. Review URL: http://codereview.chromium.org/669240 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Mar, 2010 1 commit
-
-
kmillikin@chromium.org authored
The flow graph is built by walking the AST. Edges are labeled with instructions (AST nodes). Normal nodes have a single predecessor edge and a single (labeled) successor edge. Branch nodes are explicit, they have a single predecessor edge and a pair of (unlabeled) successor edges. Merge nodes are explicit, they have a pair of predecessor edges and a single (unlabeled) successor edge. There is a distinguished (normal) entry node and a distinguished (special) exit node with arbitrarily many predecessor edges and no successor edges. The graph is intended to support graph-based analysis and transformation. Review URL: http://codereview.chromium.org/660449 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jan, 2010 1 commit
-
-
fschneider@chromium.org authored
This change adds a post-order numbering to AST nodes that are relevant for the fast code generator. It is only invoked together with the fast compiler. Also changed the ast printer to print the numbering for testing purposes if it is present. Review URL: http://codereview.chromium.org/553134 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2009 1 commit
-
-
iposva@chromium.org authored
Review URL: http://codereview.chromium.org/506050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2009 1 commit
-
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/366030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Oct, 2009 2 commits
-
-
kmillikin@chromium.org authored
implementation is not yet complete (it prints only the node name for some AST constructs) and does not serialize everything needed to reconstitute the AST. It is motivated by a desire to prototype source-to-source transformations in JavaScript itself (or anything else that can grok JSON), but it should have other uses too. Feedback is welcome. Review URL: http://codereview.chromium.org/131101 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
while, and for loops. Previously they were distinguished by a type field, which required runtime asserts to avoid invalid nodes (since not all loop types have the same internal structure). Now they C++ type system is used to require well-formed loop ASTs. Because they do not share compilation code, we had very large functions in the code generators that merely did a runtime dispatch to a specific implementation based on the type. Review URL: http://codereview.chromium.org/269049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Sep, 2009 1 commit
-
-
kmillikin@chromium.org authored
differentiating between Call and CallEval except in the code generator, and the difference can be detected from a regular Call AST node at code generation time. Review URL: http://codereview.chromium.org/245042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2009 1 commit
-
-
kmillikin@chromium.org authored
AstNode in case we ever want to have some other kind of node. Split the NODE_LIST macro-generating macro so that we can iterate concrete subclasses of Statement and concrete subclasses of Expression separately. Review URL: http://codereview.chromium.org/159632 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jul, 2009 1 commit
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/159580 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2009 1 commit
-
-
kmillikin@chromium.org authored
indentation. Review URL: http://codereview.chromium.org/118234 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact. Review URL: http://codereview.chromium.org/115756 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2009 1 commit
-
-
kmillikin@chromium.org authored
* Remove two horizontal spaces per indent * Don't print an extra space between "VAR" and "(" for parameters * Call the name on named property accesses "NAME" Review URL: http://codereview.chromium.org/67124 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Currently function name inference is wired with AST optimization pass to avoid introducing another pass over AST. A better solution would be to rewrite AST visitors so they can be naturally combined together in a single pass, as their current implementation doesn't allow it. For examples of cases where function names can be inferred, see the tests file. Review URL: http://codereview.chromium.org/62146 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2009 1 commit
-
-
lrn@chromium.org authored
Uses static string type to optimize string additions. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2009 1 commit
-
-
erik.corry@gmail.com authored
to be error-prone and of little benefit in terms of performance. Review URL: http://codereview.chromium.org/45010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2009 1 commit
-
-
ager@chromium.org authored
instead of normal JSObjects. This ensures that __proto__ and accessors on the Object prototype do not interfere with catch scopes. Also, it fixes the bug that catch variables were not DontDelete (issue 74). Next step is to create special lookup routines for context extension objects and remove the special handling of context extension objects from the general javascript object lookup routines. Review URL: http://codereview.chromium.org/18143 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Nov, 2008 1 commit
-
-
olehougaard authored
Review URL: http://codereview.chromium.org/12673 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2008 1 commit
-
-
erik.corry@gmail.com authored
Read the objects.h change first to understand what's going on here. Review URL: http://codereview.chromium.org/9038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2008 1 commit
-
-
iposva@chromium.org authored
knowledge in the AST and inline the Smi check into the generated code if it is deemed high value (e.g. in loops). Review URL: http://codereview.chromium.org/8835 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2008 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Vector<...> in more places to be sure that buffers have a length associated with them. Review URL: http://codereview.chromium.org/1940 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2008 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Added presubmit step to check copyright. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2008 1 commit
-
-
christian.plesner.hansen authored
In the shell sample don't print the result of executing a script, only evaluating expressions. Fixed issue when building samples on Windows using a shared V8 library. Added visibility option on Linux build which makes the generated library 18% smaller. Changed build system to accept multiple build modes in one build and generate seperate objects, libraries and executables for each mode. Removed deferred negation optimization (a * -b => -(a * b)) since this visibly changes operand conversion order. Improved parsing performance by introducing stack guard in preparsing. Without a stack guard preparsing always bails out with stack overflow. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2008 1 commit
-
-
mads.s.ager@gmail.com authored
Fixed the handling of '>' and '<=' to use right-to-left conversion and left-to-right evaluation as specified by ECMA-262. Fixed a branch elimination bug on the ARM platform where incorrect code was generated because of overly aggressive branch elimination. Improved performance of code that repeatedly assigns the same function to the same property of different objects with the same map. Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler no longer expects DEBUG to be defined. Added platform-nullos.cc to serve as the basis for new platform implementations. git-svn-id: http://v8.googlecode.com/svn/trunk@9 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2008 1 commit
-
-
christian.plesner.hansen authored
git-svn-id: http://v8.googlecode.com/svn/trunk@2 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-