 Chromium Code Reviews
 Chromium Code Reviews Issue 1811283003:
  [wasm] WIP fix arm64 frame alignment.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master
    
  
    Issue 1811283003:
  [wasm] WIP fix arm64 frame alignment.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master| Index: src/compiler/instruction-selector.cc | 
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc | 
| index 91900be25c30dabec502028de1401680631509ae..931718174d88dace423d44c9e4d9544fdef003e2 100644 | 
| --- a/src/compiler/instruction-selector.cc | 
| +++ b/src/compiler/instruction-selector.cc | 
| @@ -1544,9 +1544,14 @@ void InstructionSelector::VisitCall(Node* node, BasicBlock* handler) { | 
| } | 
| // (arm64 only) caller uses JSSP but callee might destroy it. | 
| - if (descriptor->UseNativeStack() && | 
| - !linkage()->GetIncomingDescriptor()->UseNativeStack()) { | 
| - flags |= CallDescriptor::kRestoreJSSP; | 
| + bool caller_native_stack = | 
| 
ahaas
2016/03/29 08:33:58
Similar to the code in the instruction-selector-ar
 
titzer
2016/03/29 09:10:53
Done.
 | 
| + linkage()->GetIncomingDescriptor()->UseNativeStack(); | 
| + bool to_native_stack = descriptor->UseNativeStack(); | 
| + if (caller_native_stack != to_native_stack) { | 
| + // Mismatch in the use of stack pointers. One or the other has to be | 
| + // restored. | 
| + flags |= to_native_stack ? CallDescriptor::kRestoreJSSP | 
| + : CallDescriptor::kRestoreCSP; | 
| } |