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 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 // operation. | 293 // operation. |
294 bool ShouldInlineSmiCase(Token::Value op); | 294 bool ShouldInlineSmiCase(Token::Value op); |
295 | 295 |
296 // Helper function to convert a pure value into a test context. The value | 296 // Helper function to convert a pure value into a test context. The value |
297 // is expected on the stack or the accumulator, depending on the platform. | 297 // is expected on the stack or the accumulator, depending on the platform. |
298 // See the platform-specific implementation for details. | 298 // See the platform-specific implementation for details. |
299 void DoTest(Label* if_true, Label* if_false, Label* fall_through); | 299 void DoTest(Label* if_true, Label* if_false, Label* fall_through); |
300 | 300 |
301 // Helper function to split control flow and avoid a branch to the | 301 // Helper function to split control flow and avoid a branch to the |
302 // fall-through label if it is set up. | 302 // fall-through label if it is set up. |
| 303 #ifdef V8_TARGET_ARCH_MIPS |
| 304 void Split(Condition cc, |
| 305 Register lhs, |
| 306 const Operand& rhs, |
| 307 Label* if_true, |
| 308 Label* if_false, |
| 309 Label* fall_through); |
| 310 #else // All non-mips arch. |
303 void Split(Condition cc, | 311 void Split(Condition cc, |
304 Label* if_true, | 312 Label* if_true, |
305 Label* if_false, | 313 Label* if_false, |
306 Label* fall_through); | 314 Label* fall_through); |
| 315 #endif // V8_TARGET_ARCH_MIPS |
307 | 316 |
308 void Move(Slot* dst, Register source, Register scratch1, Register scratch2); | 317 void Move(Slot* dst, Register source, Register scratch1, Register scratch2); |
309 void Move(Register dst, Slot* source); | 318 void Move(Register dst, Slot* source); |
310 | 319 |
311 // Return an operand used to read/write to a known (ie, non-LOOKUP) slot. | 320 // Return an operand used to read/write to a known (ie, non-LOOKUP) slot. |
312 // May emit code to traverse the context chain, destroying the scratch | 321 // May emit code to traverse the context chain, destroying the scratch |
313 // register. | 322 // register. |
314 MemOperand EmitSlotSearch(Slot* slot, Register scratch); | 323 MemOperand EmitSlotSearch(Slot* slot, Register scratch); |
315 | 324 |
316 // Forward the bailout responsibility for the given expression to | 325 // Forward the bailout responsibility for the given expression to |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 | 762 |
754 friend class NestedStatement; | 763 friend class NestedStatement; |
755 | 764 |
756 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); | 765 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); |
757 }; | 766 }; |
758 | 767 |
759 | 768 |
760 } } // namespace v8::internal | 769 } } // namespace v8::internal |
761 | 770 |
762 #endif // V8_FULL_CODEGEN_H_ | 771 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |