| OLD | NEW | 
|    1 // Copyright 2011 the V8 project authors. All rights reserved. |    1 // Copyright 2011 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  124     GENERATING, |  124     GENERATING, | 
|  125     DONE, |  125     DONE, | 
|  126     ABORTED |  126     ABORTED | 
|  127   }; |  127   }; | 
|  128  |  128  | 
|  129   bool is_unused() const { return status_ == UNUSED; } |  129   bool is_unused() const { return status_ == UNUSED; } | 
|  130   bool is_generating() const { return status_ == GENERATING; } |  130   bool is_generating() const { return status_ == GENERATING; } | 
|  131   bool is_done() const { return status_ == DONE; } |  131   bool is_done() const { return status_ == DONE; } | 
|  132   bool is_aborted() const { return status_ == ABORTED; } |  132   bool is_aborted() const { return status_ == ABORTED; } | 
|  133  |  133  | 
|  134   int strict_mode_flag() const { |  134   StrictModeFlag strict_mode_flag() const { | 
|  135     return info()->is_strict_mode() ? kStrictMode : kNonStrictMode; |  135     return info()->strict_mode_flag(); | 
|  136   } |  136   } | 
|  137   bool dynamic_frame_alignment() const { return dynamic_frame_alignment_; } |  137   bool dynamic_frame_alignment() const { return dynamic_frame_alignment_; } | 
|  138   void set_dynamic_frame_alignment(bool value) { |  138   void set_dynamic_frame_alignment(bool value) { | 
|  139     dynamic_frame_alignment_ = value; |  139     dynamic_frame_alignment_ = value; | 
|  140   } |  140   } | 
|  141  |  141  | 
|  142   LChunk* chunk() const { return chunk_; } |  142   LChunk* chunk() const { return chunk_; } | 
|  143   Scope* scope() const { return scope_; } |  143   Scope* scope() const { return scope_; } | 
|  144   HGraph* graph() const { return chunk_->graph(); } |  144   HGraph* graph() const { return chunk_->graph(); } | 
|  145  |  145  | 
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  220                         LOperand* op, |  220                         LOperand* op, | 
|  221                         bool is_tagged); |  221                         bool is_tagged); | 
|  222   void PopulateDeoptimizationData(Handle<Code> code); |  222   void PopulateDeoptimizationData(Handle<Code> code); | 
|  223   int DefineDeoptimizationLiteral(Handle<Object> literal); |  223   int DefineDeoptimizationLiteral(Handle<Object> literal); | 
|  224  |  224  | 
|  225   void PopulateDeoptimizationLiteralsWithInlinedFunctions(); |  225   void PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 
|  226  |  226  | 
|  227   Register ToRegister(int index) const; |  227   Register ToRegister(int index) const; | 
|  228   XMMRegister ToDoubleRegister(int index) const; |  228   XMMRegister ToDoubleRegister(int index) const; | 
|  229   int ToInteger32(LConstantOperand* op) const; |  229   int ToInteger32(LConstantOperand* op) const; | 
 |  230   double ToDouble(LConstantOperand* op) const; | 
|  230   Operand BuildFastArrayOperand(LOperand* elements_pointer, |  231   Operand BuildFastArrayOperand(LOperand* elements_pointer, | 
|  231                                 LOperand* key, |  232                                 LOperand* key, | 
|  232                                 ElementsKind elements_kind, |  233                                 ElementsKind elements_kind, | 
|  233                                 uint32_t offset); |  234                                 uint32_t offset); | 
|  234  |  235  | 
|  235   // Specific math operations - used from DoUnaryMathOperation. |  236   // Specific math operations - used from DoUnaryMathOperation. | 
|  236   void EmitIntegerMathAbs(LUnaryMathOperation* instr); |  237   void EmitIntegerMathAbs(LUnaryMathOperation* instr); | 
|  237   void DoMathAbs(LUnaryMathOperation* instr); |  238   void DoMathAbs(LUnaryMathOperation* instr); | 
|  238   void DoMathFloor(LUnaryMathOperation* instr); |  239   void DoMathFloor(LUnaryMathOperation* instr); | 
|  239   void DoMathRound(LUnaryMathOperation* instr); |  240   void DoMathRound(LUnaryMathOperation* instr); | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
|  254                                     int arguments, |  255                                     int arguments, | 
|  255                                     int deoptimization_index); |  256                                     int deoptimization_index); | 
|  256   void RecordPosition(int position); |  257   void RecordPosition(int position); | 
|  257   int LastSafepointEnd() { |  258   int LastSafepointEnd() { | 
|  258     return static_cast<int>(safepoints_.GetPcAfterGap()); |  259     return static_cast<int>(safepoints_.GetPcAfterGap()); | 
|  259   } |  260   } | 
|  260  |  261  | 
|  261   static Condition TokenToCondition(Token::Value op, bool is_unsigned); |  262   static Condition TokenToCondition(Token::Value op, bool is_unsigned); | 
|  262   void EmitGoto(int block); |  263   void EmitGoto(int block); | 
|  263   void EmitBranch(int left_block, int right_block, Condition cc); |  264   void EmitBranch(int left_block, int right_block, Condition cc); | 
|  264   void EmitCmpI(LOperand* left, LOperand* right); |  | 
|  265   void EmitNumberUntagD(Register input, |  265   void EmitNumberUntagD(Register input, | 
|  266                         XMMRegister result, |  266                         XMMRegister result, | 
|  267                         bool deoptimize_on_undefined, |  267                         bool deoptimize_on_undefined, | 
|  268                         LEnvironment* env); |  268                         LEnvironment* env); | 
|  269  |  269  | 
|  270   // Emits optimized code for typeof x == "y".  Modifies input register. |  270   // Emits optimized code for typeof x == "y".  Modifies input register. | 
|  271   // Returns the condition on which a final split to |  271   // Returns the condition on which a final split to | 
|  272   // true and false label should be made, to optimize fallthrough. |  272   // true and false label should be made, to optimize fallthrough. | 
|  273   Condition EmitTypeofIs(Label* true_label, Label* false_label, |  273   Condition EmitTypeofIs(Label* true_label, | 
|  274                          Register input, Handle<String> type_name); |  274                          Label* false_label, | 
 |  275                          Register input, | 
 |  276                          Handle<String> type_name); | 
|  275  |  277  | 
|  276   // Emits optimized code for %_IsObject(x).  Preserves input register. |  278   // Emits optimized code for %_IsObject(x).  Preserves input register. | 
|  277   // Returns the condition on which a final split to |  279   // Returns the condition on which a final split to | 
|  278   // true and false label should be made, to optimize fallthrough. |  280   // true and false label should be made, to optimize fallthrough. | 
|  279   Condition EmitIsObject(Register input, |  281   Condition EmitIsObject(Register input, | 
|  280                          Register temp1, |  282                          Register temp1, | 
|  281                          Label* is_not_object, |  283                          Label* is_not_object, | 
|  282                          Label* is_object); |  284                          Label* is_object); | 
|  283  |  285  | 
|  284   // Emits optimized code for %_IsConstructCall(). |  286   // Emits optimized code for %_IsConstructCall(). | 
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  375   LCodeGen* codegen_; |  377   LCodeGen* codegen_; | 
|  376   Label entry_; |  378   Label entry_; | 
|  377   Label exit_; |  379   Label exit_; | 
|  378   Label* external_exit_; |  380   Label* external_exit_; | 
|  379   int instruction_index_; |  381   int instruction_index_; | 
|  380 }; |  382 }; | 
|  381  |  383  | 
|  382 } }  // namespace v8::internal |  384 } }  // namespace v8::internal | 
|  383  |  385  | 
|  384 #endif  // V8_IA32_LITHIUM_CODEGEN_IA32_H_ |  386 #endif  // V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 
| OLD | NEW |