OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #include "src/compiler/instruction-scheduler.h" | 5 #include "src/compiler/instruction-scheduler.h" |
6 | 6 |
7 #include "src/base/adapters.h" | 7 #include "src/base/adapters.h" |
8 #include "src/base/utils/random-number-generator.h" | 8 #include "src/base/utils/random-number-generator.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 case kAtomicLoadInt16: | 319 case kAtomicLoadInt16: |
320 case kAtomicLoadUint16: | 320 case kAtomicLoadUint16: |
321 case kAtomicLoadWord32: | 321 case kAtomicLoadWord32: |
322 return kIsLoadOperation; | 322 return kIsLoadOperation; |
323 | 323 |
324 case kAtomicStoreWord8: | 324 case kAtomicStoreWord8: |
325 case kAtomicStoreWord16: | 325 case kAtomicStoreWord16: |
326 case kAtomicStoreWord32: | 326 case kAtomicStoreWord32: |
327 return kHasSideEffect; | 327 return kHasSideEffect; |
328 | 328 |
| 329 case kAtomicExchangeInt8: |
| 330 case kAtomicExchangeUint8: |
| 331 case kAtomicExchangeInt16: |
| 332 case kAtomicExchangeUint16: |
| 333 case kAtomicExchangeWord32: |
| 334 return kHasSideEffect; |
| 335 |
329 #define CASE(Name) case k##Name: | 336 #define CASE(Name) case k##Name: |
330 TARGET_ARCH_OPCODE_LIST(CASE) | 337 TARGET_ARCH_OPCODE_LIST(CASE) |
331 #undef CASE | 338 #undef CASE |
332 return GetTargetInstructionFlags(instr); | 339 return GetTargetInstructionFlags(instr); |
333 } | 340 } |
334 | 341 |
335 UNREACHABLE(); | 342 UNREACHABLE(); |
336 return kNoOpcodeFlags; | 343 return kNoOpcodeFlags; |
337 } | 344 } |
338 | 345 |
(...skipping 15 matching lines...) Expand all Loading... |
354 } | 361 } |
355 } | 362 } |
356 | 363 |
357 node->set_total_latency(max_latency + node->latency()); | 364 node->set_total_latency(max_latency + node->latency()); |
358 } | 365 } |
359 } | 366 } |
360 | 367 |
361 } // namespace compiler | 368 } // namespace compiler |
362 } // namespace internal | 369 } // namespace internal |
363 } // namespace v8 | 370 } // namespace v8 |
OLD | NEW |