Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: src/compiler/s390/code-generator-s390.cc

Issue 2799863002: [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor (Closed)
Patch Set: [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698