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/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compilation-info.h" | 7 #include "src/compilation-info.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 2396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2407 Register value = i.InputRegister(2); | 2407 Register value = i.InputRegister(2); |
2408 Register output = i.OutputRegister(); | 2408 Register output = i.OutputRegister(); |
2409 Label do_cs; | 2409 Label do_cs; |
2410 __ lay(r1, MemOperand(base, index)); | 2410 __ lay(r1, MemOperand(base, index)); |
2411 __ LoadlW(output, MemOperand(r1)); | 2411 __ LoadlW(output, MemOperand(r1)); |
2412 __ bind(&do_cs); | 2412 __ bind(&do_cs); |
2413 __ cs(output, value, MemOperand(r1)); | 2413 __ cs(output, value, MemOperand(r1)); |
2414 __ bne(&do_cs, Label::kNear); | 2414 __ bne(&do_cs, Label::kNear); |
2415 break; | 2415 break; |
2416 } | 2416 } |
| 2417 case kAtomicCompareExchangeInt8: |
| 2418 case kAtomicCompareExchangeUint8: |
| 2419 case kAtomicCompareExchangeInt16: |
| 2420 case kAtomicCompareExchangeUint16: |
| 2421 case kAtomicCompareExchangeWord32: { |
| 2422 UNREACHABLE(); |
| 2423 break; |
| 2424 } |
2417 default: | 2425 default: |
2418 UNREACHABLE(); | 2426 UNREACHABLE(); |
2419 break; | 2427 break; |
2420 } | 2428 } |
2421 return kSuccess; | 2429 return kSuccess; |
2422 } // NOLINT(readability/fn_size) | 2430 } // NOLINT(readability/fn_size) |
2423 | 2431 |
2424 // Assembles branches after an instruction. | 2432 // Assembles branches after an instruction. |
2425 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { | 2433 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { |
2426 S390OperandConverter i(this, instr); | 2434 S390OperandConverter i(this, instr); |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2952 padding_size -= 2; | 2960 padding_size -= 2; |
2953 } | 2961 } |
2954 } | 2962 } |
2955 } | 2963 } |
2956 | 2964 |
2957 #undef __ | 2965 #undef __ |
2958 | 2966 |
2959 } // namespace compiler | 2967 } // namespace compiler |
2960 } // namespace internal | 2968 } // namespace internal |
2961 } // namespace v8 | 2969 } // namespace v8 |
OLD | NEW |