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 2411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2422 Register value = i.InputRegister(2); | 2422 Register value = i.InputRegister(2); |
2423 Register output = i.OutputRegister(); | 2423 Register output = i.OutputRegister(); |
2424 Label do_cs; | 2424 Label do_cs; |
2425 __ lay(r1, MemOperand(base, index)); | 2425 __ lay(r1, MemOperand(base, index)); |
2426 __ LoadlW(output, MemOperand(r1)); | 2426 __ LoadlW(output, MemOperand(r1)); |
2427 __ bind(&do_cs); | 2427 __ bind(&do_cs); |
2428 __ cs(output, value, MemOperand(r1)); | 2428 __ cs(output, value, MemOperand(r1)); |
2429 __ bne(&do_cs, Label::kNear); | 2429 __ bne(&do_cs, Label::kNear); |
2430 break; | 2430 break; |
2431 } | 2431 } |
2432 case kAtomicCompareExchangeInt8: | |
2433 case kAtomicCompareExchangeUint8: | |
2434 case kAtomicCompareExchangeInt16: | |
2435 case kAtomicCompareExchangeUint16: | |
2436 case kAtomicCompareExchangeWord32: { | |
2437 UNREACHABLE(); | |
2438 break; | |
2439 } | |
2440 default: | 2432 default: |
2441 UNREACHABLE(); | 2433 UNREACHABLE(); |
2442 break; | 2434 break; |
2443 } | 2435 } |
2444 return kSuccess; | 2436 return kSuccess; |
2445 } // NOLINT(readability/fn_size) | 2437 } // NOLINT(readability/fn_size) |
2446 | 2438 |
2447 // Assembles branches after an instruction. | 2439 // Assembles branches after an instruction. |
2448 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { | 2440 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { |
2449 S390OperandConverter i(this, instr); | 2441 S390OperandConverter i(this, instr); |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2979 padding_size -= 2; | 2971 padding_size -= 2; |
2980 } | 2972 } |
2981 } | 2973 } |
2982 } | 2974 } |
2983 | 2975 |
2984 #undef __ | 2976 #undef __ |
2985 | 2977 |
2986 } // namespace compiler | 2978 } // namespace compiler |
2987 } // namespace internal | 2979 } // namespace internal |
2988 } // namespace v8 | 2980 } // namespace v8 |
OLD | NEW |