- 12 Mar, 2010 13 commits
-
-
antonm@chromium.org authored
Now builtins only process fast case when there is no need to lift elements from the prototypes. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/890004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/885004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
We only track definitions of stack-allocated variables. Trying to look up other variables in the environment is a bug. Review URL: http://codereview.chromium.org/843006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/870007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Property stores were not visited correctly by the visitor. I fixed this issue by visiting property stores by visiting receiver and key directly (and not calling visit on the lhs property ast node) Review URL: http://codereview.chromium.org/903003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
IsPrimitive reflects that an expression's value is known statically to be one of the ECMA-262-3 JS types other than Object (e.g., Undefined, Null, Boolean, String, or Number). The type conversions ToPrimitive, ToNumber, ToInteger, ToInt32, ToUInt32, ToUint16, ToString, or ToObject cannot invoke user code for primitive input values. ToObject throws a TypeError if its input is Undefined or Null. Review URL: http://codereview.chromium.org/912002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
oleg@chromium.org authored
Review URL: http://codereview.chromium.org/811006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Single argument constructors should be marked explicit. TBR=fschneider@chromium.org Review URL: http://codereview.chromium.org/876005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Use the classical worklist algorithm to compute reaching definitions. All nodes are initially put on the worklist. Until the worklist is empty, nodes are removed, their RD_in is recomputed, and if it changes their successors are added to the worklist. Review URL: http://codereview.chromium.org/853004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Const variables are not considered as trivial sub-expressions since we have the check for the hole value as a side-effect. Review URL: http://codereview.chromium.org/849003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Added this-> in some places where accessing a method on a templated base class. Added #include <strings.h> for bit_cast, moved it to utils.h and renamed it to BitCast. Patch by Evan Martin <evan@chromium.org>, see http://codereview.chromium.org/894001 and http://codereview.chromium.org/888003 Review URL: http://codereview.chromium.org/888005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/865002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
With my previous change to limit memory for object literals, we get more slow-case elements and this makes up for the slowdown when loading from those slow-case elements. The most complicated part here is the computation of the integer hash code. We might want to simplify the integer hash function. Review URL: http://codereview.chromium.org/857003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2010 14 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
-
kmillikin@chromium.org authored
Reaching definitions in (RD_in) is initially empty for all nodes. Gen and kill sets are computed. AST node numbers are used for nodes to refer to their definition number. Also: two small changes to flow graph printing. Children of branch nodes are visited in right-to-left order when performing depth first search. Instructions are numbered locally within blocks so as to not destroy AST node number before printing (it's useful to print the definition). Review URL: http://codereview.chromium.org/876001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/866002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/760002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/857002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
TBR=alexandre.rames@gmail.com Review URL: http://codereview.chromium.org/870002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Add a missing null check that can hit when the for-loop index is not a variable. Review URL: http://codereview.chromium.org/840002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4101 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
-
fschneider@chromium.org authored
This change fixes a bug with the arguments object that occurred with r4087 and r4088. The fix is not marking the arguments variable as trivial since it can have side effects. Review URL: http://codereview.chromium.org/851002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/867002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/799008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4097 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
-
sgjesse@chromium.org authored
For keyed IC's the name is not necessarily a string. BUG=http://crbug.com/37853 TEST=test/mjsunit/regress/regress-crbug-37853.js Review URL: http://codereview.chromium.org/872001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/799006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2010 13 commits
-
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/804005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/825004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/619005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/805005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/816003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change adds a pass over the AST that computes the set of assigned variables for locals and parameters for each expression. The result of this analysis is used to for two purposes: 1. Recognize variables that are trivial subexpressions. A left sub-expression of a binary operation is trivial if it is a local variable or a parameter and it is not assigned in the right sub-expression. In the case of a trivial left sub-expression we evaluate the right first. Currently only binary operations and compare operations are considered when finding trivial left sub-expressions. 2. Recogize certain simple for-loops with a constant trip count where the loop variable is always within smi range. If the loop count variable is not assigned in the body of the loop (except in the update expression the for-loop). This allows omitting smi checks on operation using the loop count variable. Review URL: http://codereview.chromium.org/669155 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Visitor stack overflow is used to signal an unsupported construct in the flow graph. Check for it in more places. Make the utility functions for appending to graphs handle more cases if they can be handled correctly. Remove the entry node in favor of a block with a NULL predecessor as single entry. Represent the empty flow graph as a single empty block. Add empty blocks lazily where needed to preserve edge-split form. Review URL: http://codereview.chromium.org/804003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=fschneider@chromium.org Review URL: http://codereview.chromium.org/802003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
While the flow graph is experimental, it's easier to be able to ignore some problematic syntactic constructs. Reduce the ones that can occur in constructed flow graphs. Review URL: http://codereview.chromium.org/790004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
probably want to remove this again if and when Dromaeo is fixed so this strategy doesn't pay off. Review URL: http://codereview.chromium.org/817001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/821001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/778005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/802002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-