| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 void VisitFunctionLiteral(FunctionLiteral* node); | 62 void VisitFunctionLiteral(FunctionLiteral* node); |
| 63 void VisitFunctionBoilerplateLiteral(FunctionBoilerplateLiteral* node); | 63 void VisitFunctionBoilerplateLiteral(FunctionBoilerplateLiteral* node); |
| 64 void VisitConditional(Conditional* node); | 64 void VisitConditional(Conditional* node); |
| 65 void VisitSlot(Slot* node); | 65 void VisitSlot(Slot* node); |
| 66 void VisitVariable(Variable* node); | 66 void VisitVariable(Variable* node); |
| 67 void VisitVariableProxy(VariableProxy* node); | 67 void VisitVariableProxy(VariableProxy* node); |
| 68 void VisitLiteral(Literal* node); | 68 void VisitLiteral(Literal* node); |
| 69 void VisitRegExpLiteral(RegExpLiteral* node); | 69 void VisitRegExpLiteral(RegExpLiteral* node); |
| 70 void VisitObjectLiteral(ObjectLiteral* node); | 70 void VisitObjectLiteral(ObjectLiteral* node); |
| 71 void VisitArrayLiteral(ArrayLiteral* node); | 71 void VisitArrayLiteral(ArrayLiteral* node); |
| 72 void VisitCatchExtensionObject(CatchExtensionObject* node); |
| 72 void VisitAssignment(Assignment* node); | 73 void VisitAssignment(Assignment* node); |
| 73 void VisitThrow(Throw* node); | 74 void VisitThrow(Throw* node); |
| 74 void VisitProperty(Property* node); | 75 void VisitProperty(Property* node); |
| 75 void VisitCall(Call* node); | 76 void VisitCall(Call* node); |
| 76 void VisitCallEval(CallEval* node); | 77 void VisitCallEval(CallEval* node); |
| 77 void VisitCallNew(CallNew* node); | 78 void VisitCallNew(CallNew* node); |
| 78 void VisitCallRuntime(CallRuntime* node); | 79 void VisitCallRuntime(CallRuntime* node); |
| 79 void VisitUnaryOperation(UnaryOperation* node); | 80 void VisitUnaryOperation(UnaryOperation* node); |
| 80 void VisitCountOperation(CountOperation* node); | 81 void VisitCountOperation(CountOperation* node); |
| 81 void VisitBinaryOperation(BinaryOperation* node); | 82 void VisitBinaryOperation(BinaryOperation* node); |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 void UsageComputer::VisitObjectLiteral(ObjectLiteral* node) { | 282 void UsageComputer::VisitObjectLiteral(ObjectLiteral* node) { |
| 282 ReadList(node->properties()); | 283 ReadList(node->properties()); |
| 283 } | 284 } |
| 284 | 285 |
| 285 | 286 |
| 286 void UsageComputer::VisitArrayLiteral(ArrayLiteral* node) { | 287 void UsageComputer::VisitArrayLiteral(ArrayLiteral* node) { |
| 287 ReadList(node->values()); | 288 ReadList(node->values()); |
| 288 } | 289 } |
| 289 | 290 |
| 290 | 291 |
| 292 void UsageComputer::VisitCatchExtensionObject(CatchExtensionObject* node) { |
| 293 Read(node->value()); |
| 294 } |
| 295 |
| 296 |
| 291 void UsageComputer::VisitAssignment(Assignment* node) { | 297 void UsageComputer::VisitAssignment(Assignment* node) { |
| 292 if (node->op() != Token::ASSIGN) | 298 if (node->op() != Token::ASSIGN) |
| 293 Read(node->target()); | 299 Read(node->target()); |
| 294 Write(node->target()); | 300 Write(node->target()); |
| 295 Read(node->value()); | 301 Read(node->value()); |
| 296 } | 302 } |
| 297 | 303 |
| 298 | 304 |
| 299 void UsageComputer::VisitThrow(Throw* node) { | 305 void UsageComputer::VisitThrow(Throw* node) { |
| 300 Read(node->exception()); | 306 Read(node->exception()); |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 | 441 |
| 436 // ---------------------------------------------------------------------------- | 442 // ---------------------------------------------------------------------------- |
| 437 // Interface to variable usage analysis | 443 // Interface to variable usage analysis |
| 438 | 444 |
| 439 bool AnalyzeVariableUsage(FunctionLiteral* lit) { | 445 bool AnalyzeVariableUsage(FunctionLiteral* lit) { |
| 440 if (!FLAG_usage_computation) return true; | 446 if (!FLAG_usage_computation) return true; |
| 441 return UsageComputer::Traverse(lit); | 447 return UsageComputer::Traverse(lit); |
| 442 } | 448 } |
| 443 | 449 |
| 444 } } // namespace v8::internal | 450 } } // namespace v8::internal |
| OLD | NEW |