- 19 Apr, 2010 1 commit
-
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/1605037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2010 2 commits
-
-
kmillikin@chromium.org authored
Previously we marked compare operations that occurred as for loop conditions so as to avoid inlining the floating-point code for them. Begin marking all expressions that occur as any loop condition (because they are never dead code). Review URL: http://codereview.chromium.org/1074009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4227 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
-
- 22 Mar, 2010 1 commit
-
-
fschneider@chromium.org authored
This change adds the option to peel off the first iteration of inner loops. Loop peeling is off by default and can enabled by a flag. It also requires building a flow graph. As part of this I added the possibility to clone AST nodes. Review URL: http://codereview.chromium.org/998001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2010 1 commit
-
-
sgjesse@chromium.org authored
BUG=http://code.google.com/p/v8/issues/detail?id=646 TEST=test/mjsunit/regress/regress-646.js Review URL: http://codereview.chromium.org/1023008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2010 3 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/669061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
object-literals with few elements but large element indices. We can decide at parse time whether the created object literal should have fast-case of slow-case elements. Remove unused runtime function. Review URL: http://codereview.chromium.org/805004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The inline runtime functions are now included in the fuzzing of the natives. The chack for the expected number of arguments passed have been moved to the parser which will generate a syntax error if a runtime function (either C++ or inline) is called with a different number of arguments than expected. Review URL: http://codereview.chromium.org/573056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2010 1 commit
-
-
kmillikin@chromium.org authored
Remove messages.h from v8.h and include it explicitly in only the few places it is needed. Many files relied on getting handles-inl.h implicitly from messages.h through v8.h, so include handles-inl.h explicitly in v8.h instead. Remove zone-inl.h from header files where it is not needed, can be replaced by a forward declaration, or can be replaced by zone.h (specifically, factory.h and heap.h). Include zone.h or zone-inl.h in header files where it was implicitly included via heap.h or factory.h. Prefer zone.h over zone-inl.h in header files where possible by including zone-inl.h in .cc files. Review URL: http://codereview.chromium.org/668248 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Mar, 2010 1 commit
-
-
kmillikin@chromium.org authored
A variable usage analysis pass was run on toplevel and lazily-compiled code but never used. Remove this pass and the data structures it builds. The representation of variable usage for Variables has been changed from a struct containing a (weighted) count of reads and writes to a simple flag. VariableProxies are always used, as before. The unused "object uses" is removed. Review URL: http://codereview.chromium.org/669270 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2010 1 commit
-
-
sgjesse@chromium.org authored
No need to create sub strings for lazy compiles. The scanner will start from the start position provided. Moved the creating of character streams into the scanner where possible. This uses a input buffer in the scanner class instead of a stack allocated one. Added a UTF16 buffer for reading external ascii strings (by templating the external two byte string one) as all the source for the builtins are exposed as external ascii strings. Review URL: http://codereview.chromium.org/661367 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Feb, 2010 1 commit
-
-
bak@chromium.org authored
- Renamed TryFlattenIfNotFlat to TryFlatten. Review URL: http://codereview.chromium.org/661181 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Feb, 2010 1 commit
-
-
ager@chromium.org authored
constructors that only contain simple this assignments. Make sure that constructors with declarations are not treated as constructors with only simple this property assignments. Review URL: http://codereview.chromium.org/601081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Feb, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/549207 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jan, 2010 1 commit
-
-
vitalyr@chromium.org authored
TEST=cctest/test-api/NativeFunctionConstructCall BUG=582 Review URL: http://codereview.chromium.org/551063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jan, 2010 1 commit
-
-
fschneider@chromium.org authored
When initializing the special local variable containing the reference to the enclosing function in named functions we now (correctly) emit an INIT_CONST instead of INIT_VAR, and we correctly bail out in the top-level code generator. Also part of this change is adding missing statement position information for some statements in the top-level code generator. Review URL: http://codereview.chromium.org/536029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jan, 2010 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Review URL: http://codereview.chromium.org/542010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/507051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2009 1 commit
-
-
fschneider@chromium.org authored
the code generator. The runtime function checks if it needs to create a boilerplate object or if it can clone from an existing boilerplate. This is already done in the top-level compiler. Review URL: http://codereview.chromium.org/507036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2009 1 commit
-
-
bak@chromium.org authored
-Inlined double variant of compare iff one of the sides is a constant smi and it is not a for loop condition. Review URL: http://codereview.chromium.org/507040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Nov, 2009 1 commit
-
-
yurys@chromium.org authored
Condition block of do/while statements is a valid break location so it should have its own position. The block is represented by a regular Expression node so we cannot store the position in it, instead the position is stored in a separate field in DoWhileStatement AST node. BUG=514 Review URL: http://codereview.chromium.org/385136 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2009 1 commit
-
-
ager@chromium.org authored
Remove variable that is currently unused. BUG=http://code.google.com/p/v8/issues/detail?id=502 Review URL: http://codereview.chromium.org/392001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Nov, 2009 1 commit
-
-
kmillikin@chromium.org authored
generator, mimicing the behavior of the optimizing compiler. Initialization blocks can only contain (thus begin and end) with a property assignment in toplevel code. Review URL: http://codereview.chromium.org/348038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2009 1 commit
-
-
kmillikin@chromium.org authored
contains_array_literal_ implies materialized_literal_count_ > 0, and we appear not to need to know about array literals specifically. Review URL: http://codereview.chromium.org/272043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Oct, 2009 1 commit
-
-
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
-
- 02 Oct, 2009 1 commit
-
-
ager@chromium.org authored
used to allow these for compatibility, but both Safari and Firefox now disallow them. Review URL: http://codereview.chromium.org/242124 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/242074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2009 1 commit
-
-
kmillikin@chromium.org authored
1. Change the AST node type CallNew to be a subclass of Expression rather than Call. It's not really a call but it just happens to have the same fields. 2. Change our error reporting for invalid left-hand sides in for-in statements, pre- and postfix count expressions, and assignments. Before we signaled a syntax error at compile time *unless* the LHS was a function call or 'new' expression, in which case we signaled a reference error at runtime. Now we signal a reference error at runtime in all cases. This matches the JSC behavior in Safari 4. Review URL: http://codereview.chromium.org/249039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2994 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
-
- 31 Aug, 2009 1 commit
-
-
ager@chromium.org authored
Add checks for the use of eval and with in natives files to the js2c script. Review URL: http://codereview.chromium.org/175009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2009 1 commit
-
-
sgjesse@chromium.org authored
During parsing functions are analyzed for statements of the form this.x = ...;. These assignments are categorized in two types: simple and non simple. The simple ones are where the right hand side is known to be either a constant or an argument to the function. If a function only contains statements of this type the property names are collected and for the simple assignments the index of the argument or the constant value assigned are stored as well. When the initial map for a function is created and the function consists of only this type of assignemnts the initial map is created with a descriptor array describing these properties which will be known to always exist in an object created from the function. The information on this property assignments is not collected during pre-parsing so if compiling using pre-parse data these optimization hints are not available. Next step will be to use the information collected for the simple assignments to generate constructor code which will create and initialize the object from this information without calling the code for the function. Review URL: http://codereview.chromium.org/172088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Aug, 2009 1 commit
-
-
feng@chromium.org authored
Review URL: http://codereview.chromium.org/165403 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2703 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
-
- 22 Jul, 2009 1 commit
-
-
kmillikin@chromium.org authored
There's no reason to check if we've failed when (a) we know we have and (b) we've got a perfectly good NULL just lying around anyway. Review URL: http://codereview.chromium.org/155920 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2009 1 commit
-
-
kasperl@chromium.org authored
Original review: http://codereview.chromium.org/149768 TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/155679 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jul, 2009 1 commit
-
-
kmillikin@chromium.org authored
from a try...catch...finally statement. Review URL: http://codereview.chromium.org/149670 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2009 2 commits
-
-
kmillikin@chromium.org authored
that they use the static Handle<T>::null() member function instead. Review URL: http://codereview.chromium.org/155135 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
variable object. Add a map from names to variables for global scopes just like non-global scopes. Variables are added to the map by the parser when it encounters a declaration in a global scope or else at scope resolution time by a failed variable lookup from the global scope or an inner one and with no intervening with statements or possible calls to eval. Review URL: http://codereview.chromium.org/149245 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2009 2 commits
-
-
lrn@chromium.org authored
Also cleaned up some leftover crud. Review URL: http://codereview.chromium.org/155048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Shouldn't run out of stack space while parsing deeply nested regexps. Might be a little faster. Review URL: http://codereview.chromium.org/149069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-