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

Side by Side Diff: src/compiler/ppc/code-generator-ppc.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 1987 matching lines...) Expand 10 before | Expand all | Expand 10 after
1998 case kAtomicExchangeInt16: 1998 case kAtomicExchangeInt16:
1999 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lharx, sthcx); 1999 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lharx, sthcx);
2000 __ extsh(i.OutputRegister(0), i.OutputRegister(0)); 2000 __ extsh(i.OutputRegister(0), i.OutputRegister(0));
2001 break; 2001 break;
2002 case kAtomicExchangeUint16: 2002 case kAtomicExchangeUint16:
2003 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lharx, sthcx); 2003 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lharx, sthcx);
2004 break; 2004 break;
2005 case kAtomicExchangeWord32: 2005 case kAtomicExchangeWord32:
2006 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lwarx, stwcx); 2006 ASSEMBLE_ATOMIC_EXCHANGE_INTEGER(lwarx, stwcx);
2007 break; 2007 break;
2008 case kAtomicCompareExchangeInt8:
2009 case kAtomicCompareExchangeUint8:
2010 case kAtomicCompareExchangeInt16:
2011 case kAtomicCompareExchangeUint16:
2012 case kAtomicCompareExchangeWord32:
2013 UNREACHABLE();
2014 break;
2015 default: 2008 default:
2016 UNREACHABLE(); 2009 UNREACHABLE();
2017 break; 2010 break;
2018 } 2011 }
2019 return kSuccess; 2012 return kSuccess;
2020 } // NOLINT(readability/fn_size) 2013 } // NOLINT(readability/fn_size)
2021 2014
2022 2015
2023 // Assembles branches after an instruction. 2016 // Assembles branches after an instruction.
2024 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { 2017 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 padding_size -= v8::internal::Assembler::kInstrSize; 2611 padding_size -= v8::internal::Assembler::kInstrSize;
2619 } 2612 }
2620 } 2613 }
2621 } 2614 }
2622 2615
2623 #undef __ 2616 #undef __
2624 2617
2625 } // namespace compiler 2618 } // namespace compiler
2626 } // namespace internal 2619 } // namespace internal
2627 } // namespace v8 2620 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698