| 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 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 | 358 |
| 359 // Fast support for Math.random(). | 359 // Fast support for Math.random(). |
| 360 void GenerateRandomPositiveSmi(ZoneList<Expression*>* args); | 360 void GenerateRandomPositiveSmi(ZoneList<Expression*>* args); |
| 361 | 361 |
| 362 // Fast support for Math.sin and Math.cos. | 362 // Fast support for Math.sin and Math.cos. |
| 363 enum MathOp { SIN, COS }; | 363 enum MathOp { SIN, COS }; |
| 364 void GenerateFastMathOp(MathOp op, ZoneList<Expression*>* args); | 364 void GenerateFastMathOp(MathOp op, ZoneList<Expression*>* args); |
| 365 inline void GenerateMathSin(ZoneList<Expression*>* args); | 365 inline void GenerateMathSin(ZoneList<Expression*>* args); |
| 366 inline void GenerateMathCos(ZoneList<Expression*>* args); | 366 inline void GenerateMathCos(ZoneList<Expression*>* args); |
| 367 | 367 |
| 368 // Simple condition analysis. |
| 369 enum ConditionAnalysis { |
| 370 ALWAYS_TRUE, |
| 371 ALWAYS_FALSE, |
| 372 DONT_KNOW |
| 373 }; |
| 374 ConditionAnalysis AnalyzeCondition(Expression* cond); |
| 375 |
| 368 // Methods used to indicate which source code is generated for. Source | 376 // Methods used to indicate which source code is generated for. Source |
| 369 // positions are collected by the assembler and emitted with the relocation | 377 // positions are collected by the assembler and emitted with the relocation |
| 370 // information. | 378 // information. |
| 371 void CodeForFunctionPosition(FunctionLiteral* fun); | 379 void CodeForFunctionPosition(FunctionLiteral* fun); |
| 372 void CodeForReturnPosition(FunctionLiteral* fun); | 380 void CodeForReturnPosition(FunctionLiteral* fun); |
| 373 void CodeForStatementPosition(Statement* node); | 381 void CodeForStatementPosition(Statement* node); |
| 374 void CodeForSourcePosition(int pos); | 382 void CodeForSourcePosition(int pos); |
| 375 | 383 |
| 376 #ifdef DEBUG | 384 #ifdef DEBUG |
| 377 // True if the registers are valid for entry to a block. | 385 // True if the registers are valid for entry to a block. |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 constant_rhs_); | 505 constant_rhs_); |
| 498 } | 506 } |
| 499 } | 507 } |
| 500 #endif | 508 #endif |
| 501 }; | 509 }; |
| 502 | 510 |
| 503 | 511 |
| 504 } } // namespace v8::internal | 512 } } // namespace v8::internal |
| 505 | 513 |
| 506 #endif // V8_ARM_CODEGEN_ARM_H_ | 514 #endif // V8_ARM_CODEGEN_ARM_H_ |
| OLD | NEW |