| 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 // TODO(all): Check this is sensible for PPC64. |
| 117 static const int kCodeSizeMultiplier = 142; |
| 118 static const int kBootCodeSizeMultiplier = 175; |
| 119 #elif V8_TARGET_ARCH_PPC |
| 120 // TODO(all): Check this is sensible for PPC. |
| 121 static const int kCodeSizeMultiplier = 142; |
| 122 static const int kBootCodeSizeMultiplier = 130; |
| 115 #elif V8_TARGET_ARCH_MIPS | 123 #elif V8_TARGET_ARCH_MIPS |
| 116 static const int kCodeSizeMultiplier = 149; | 124 static const int kCodeSizeMultiplier = 149; |
| 117 static const int kBootCodeSizeMultiplier = 120; | 125 static const int kBootCodeSizeMultiplier = 120; |
| 118 #elif V8_TARGET_ARCH_MIPS64 | 126 #elif V8_TARGET_ARCH_MIPS64 |
| 119 static const int kCodeSizeMultiplier = 149; | 127 static const int kCodeSizeMultiplier = 149; |
| 120 static const int kBootCodeSizeMultiplier = 120; | 128 static const int kBootCodeSizeMultiplier = 120; |
| 121 #else | 129 #else |
| 122 #error Unsupported target architecture. | 130 #error Unsupported target architecture. |
| 123 #endif | 131 #endif |
| 124 | 132 |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 Label* if_true, | 331 Label* if_true, |
| 324 Label* if_false, | 332 Label* if_false, |
| 325 Label* fall_through); | 333 Label* fall_through); |
| 326 #elif V8_TARGET_ARCH_MIPS64 | 334 #elif V8_TARGET_ARCH_MIPS64 |
| 327 void Split(Condition cc, | 335 void Split(Condition cc, |
| 328 Register lhs, | 336 Register lhs, |
| 329 const Operand& rhs, | 337 const Operand& rhs, |
| 330 Label* if_true, | 338 Label* if_true, |
| 331 Label* if_false, | 339 Label* if_false, |
| 332 Label* fall_through); | 340 Label* fall_through); |
| 333 #else // All non-mips arch. | 341 #elif V8_TARGET_ARCH_PPC |
| 342 void Split(Condition cc, |
| 343 Label* if_true, |
| 344 Label* if_false, |
| 345 Label* fall_through, |
| 346 CRegister cr = cr7); |
| 347 #else // All other arch. |
| 334 void Split(Condition cc, | 348 void Split(Condition cc, |
| 335 Label* if_true, | 349 Label* if_true, |
| 336 Label* if_false, | 350 Label* if_false, |
| 337 Label* fall_through); | 351 Label* fall_through); |
| 338 #endif // V8_TARGET_ARCH_MIPS | 352 #endif |
| 339 | 353 |
| 340 // Load the value of a known (PARAMETER, LOCAL, or CONTEXT) variable into | 354 // 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 | 355 // a register. Emits a context chain walk if if necessary (so does |
| 342 // SetVar) so avoid calling both on the same variable. | 356 // SetVar) so avoid calling both on the same variable. |
| 343 void GetVar(Register destination, Variable* var); | 357 void GetVar(Register destination, Variable* var); |
| 344 | 358 |
| 345 // Assign to a known (PARAMETER, LOCAL, or CONTEXT) variable. If it's in | 359 // 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, | 360 // the context, the write barrier will be emitted and source, scratch0, |
| 347 // scratch1 will be clobbered. Emits a context chain walk if if necessary | 361 // scratch1 will be clobbered. Emits a context chain walk if if necessary |
| 348 // (so does GetVar) so avoid calling both on the same variable. | 362 // (so does GetVar) so avoid calling both on the same variable. |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 942 | 956 |
| 943 Address start_; | 957 Address start_; |
| 944 Address instruction_start_; | 958 Address instruction_start_; |
| 945 uint32_t length_; | 959 uint32_t length_; |
| 946 }; | 960 }; |
| 947 | 961 |
| 948 | 962 |
| 949 } } // namespace v8::internal | 963 } } // namespace v8::internal |
| 950 | 964 |
| 951 #endif // V8_FULL_CODEGEN_H_ | 965 #endif // V8_FULL_CODEGEN_H_ |
| OLD | NEW |