| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
| 6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 #elif V8_TARGET_ARCH_X64 | 105 #elif V8_TARGET_ARCH_X64 |
| 106 static const int kCodeSizeMultiplier = 170; | 106 static const int kCodeSizeMultiplier = 170; |
| 107 static const int kBootCodeSizeMultiplier = 140; | 107 static const int kBootCodeSizeMultiplier = 140; |
| 108 #elif V8_TARGET_ARCH_ARM | 108 #elif V8_TARGET_ARCH_ARM |
| 109 static const int kCodeSizeMultiplier = 149; | 109 static const int kCodeSizeMultiplier = 149; |
| 110 static const int kBootCodeSizeMultiplier = 110; | 110 static const int kBootCodeSizeMultiplier = 110; |
| 111 #elif V8_TARGET_ARCH_ARM64 | 111 #elif V8_TARGET_ARCH_ARM64 |
| 112 // TODO(all): Copied ARM value. Check this is sensible for ARM64. | 112 // TODO(all): Copied ARM value. Check this is sensible for ARM64. |
| 113 static const int kCodeSizeMultiplier = 149; | 113 static const int kCodeSizeMultiplier = 149; |
| 114 static const int kBootCodeSizeMultiplier = 110; | 114 static const int kBootCodeSizeMultiplier = 110; |
| 115 #elif V8_TARGET_ARCH_PPC64 |
| 116 static const int kCodeSizeMultiplier = 200; |
| 117 static const int kBootCodeSizeMultiplier = 120; |
| 118 #elif V8_TARGET_ARCH_PPC |
| 119 static const int kCodeSizeMultiplier = 200; |
| 120 static const int kBootCodeSizeMultiplier = 120; |
| 115 #elif V8_TARGET_ARCH_MIPS | 121 #elif V8_TARGET_ARCH_MIPS |
| 116 static const int kCodeSizeMultiplier = 149; | 122 static const int kCodeSizeMultiplier = 149; |
| 117 static const int kBootCodeSizeMultiplier = 120; | 123 static const int kBootCodeSizeMultiplier = 120; |
| 118 #elif V8_TARGET_ARCH_MIPS64 | 124 #elif V8_TARGET_ARCH_MIPS64 |
| 119 static const int kCodeSizeMultiplier = 149; | 125 static const int kCodeSizeMultiplier = 149; |
| 120 static const int kBootCodeSizeMultiplier = 120; | 126 static const int kBootCodeSizeMultiplier = 120; |
| 121 #else | 127 #else |
| 122 #error Unsupported target architecture. | 128 #error Unsupported target architecture. |
| 123 #endif | 129 #endif |
| 124 | 130 |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 Label* if_true, | 329 Label* if_true, |
| 324 Label* if_false, | 330 Label* if_false, |
| 325 Label* fall_through); | 331 Label* fall_through); |
| 326 #elif V8_TARGET_ARCH_MIPS64 | 332 #elif V8_TARGET_ARCH_MIPS64 |
| 327 void Split(Condition cc, | 333 void Split(Condition cc, |
| 328 Register lhs, | 334 Register lhs, |
| 329 const Operand& rhs, | 335 const Operand& rhs, |
| 330 Label* if_true, | 336 Label* if_true, |
| 331 Label* if_false, | 337 Label* if_false, |
| 332 Label* fall_through); | 338 Label* fall_through); |
| 333 #else // All non-mips arch. | 339 #elif V8_TARGET_ARCH_PPC |
| 340 void Split(Condition cc, Label* if_true, Label* if_false, Label* fall_through, |
| 341 CRegister cr = cr7); |
| 342 #else // All other arch. |
| 334 void Split(Condition cc, | 343 void Split(Condition cc, |
| 335 Label* if_true, | 344 Label* if_true, |
| 336 Label* if_false, | 345 Label* if_false, |
| 337 Label* fall_through); | 346 Label* fall_through); |
| 338 #endif // V8_TARGET_ARCH_MIPS | 347 #endif |
| 339 | 348 |
| 340 // Load the value of a known (PARAMETER, LOCAL, or CONTEXT) variable into | 349 // Load the value of a known (PARAMETER, LOCAL, or CONTEXT) variable into |
| 341 // a register. Emits a context chain walk if if necessary (so does | 350 // a register. Emits a context chain walk if if necessary (so does |
| 342 // SetVar) so avoid calling both on the same variable. | 351 // SetVar) so avoid calling both on the same variable. |
| 343 void GetVar(Register destination, Variable* var); | 352 void GetVar(Register destination, Variable* var); |
| 344 | 353 |
| 345 // Assign to a known (PARAMETER, LOCAL, or CONTEXT) variable. If it's in | 354 // Assign to a known (PARAMETER, LOCAL, or CONTEXT) variable. If it's in |
| 346 // the context, the write barrier will be emitted and source, scratch0, | 355 // the context, the write barrier will be emitted and source, scratch0, |
| 347 // scratch1 will be clobbered. Emits a context chain walk if if necessary | 356 // scratch1 will be clobbered. Emits a context chain walk if if necessary |
| 348 // (so does GetVar) so avoid calling both on the same variable. | 357 // (so does GetVar) so avoid calling both on the same variable. |
| (...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 | 1045 |
| 1037 Address start_; | 1046 Address start_; |
| 1038 Address instruction_start_; | 1047 Address instruction_start_; |
| 1039 uint32_t length_; | 1048 uint32_t length_; |
| 1040 }; | 1049 }; |
| 1041 | 1050 |
| 1042 | 1051 |
| 1043 } } // namespace v8::internal | 1052 } } // namespace v8::internal |
| 1044 | 1053 |
| 1045 #endif // V8_FULL_CODEGEN_H_ | 1054 #endif // V8_FULL_CODEGEN_H_ |
| OLD | NEW |