| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 | 
| 6 | 6 | 
| 7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" | 
| 8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" | 
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" | 
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" | 
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 169   } | 169   } | 
| 170 | 170 | 
| 171   bool function_in_register_x1 = true; | 171   bool function_in_register_x1 = true; | 
| 172 | 172 | 
| 173   if (info->scope()->NeedsContext()) { | 173   if (info->scope()->NeedsContext()) { | 
| 174     // Argument to NewContext is the function, which is still in x1. | 174     // Argument to NewContext is the function, which is still in x1. | 
| 175     Comment cmnt(masm_, "[ Allocate context"); | 175     Comment cmnt(masm_, "[ Allocate context"); | 
| 176     bool need_write_barrier = true; | 176     bool need_write_barrier = true; | 
| 177     int slots = info->scope()->num_heap_slots() - Context::MIN_CONTEXT_SLOTS; | 177     int slots = info->scope()->num_heap_slots() - Context::MIN_CONTEXT_SLOTS; | 
| 178     if (info->scope()->is_script_scope()) { | 178     if (info->scope()->is_script_scope()) { | 
| 179       __ Mov(x10, Operand(info->scope()->GetScopeInfo(info->isolate()))); | 179       __ Mov(x10, Operand(info->scope()->scope_info())); | 
| 180       __ Push(x1, x10); | 180       __ Push(x1, x10); | 
| 181       __ CallRuntime(Runtime::kNewScriptContext); | 181       __ CallRuntime(Runtime::kNewScriptContext); | 
| 182       PrepareForBailoutForId(BailoutId::ScriptContext(), | 182       PrepareForBailoutForId(BailoutId::ScriptContext(), | 
| 183                              BailoutState::TOS_REGISTER); | 183                              BailoutState::TOS_REGISTER); | 
| 184       // The new target value is not used, clobbering is safe. | 184       // The new target value is not used, clobbering is safe. | 
| 185       DCHECK_NULL(info->scope()->new_target_var()); | 185       DCHECK_NULL(info->scope()->new_target_var()); | 
| 186     } else { | 186     } else { | 
| 187       if (info->scope()->new_target_var() != nullptr) { | 187       if (info->scope()->new_target_var() != nullptr) { | 
| 188         __ Push(x3);  // Preserve new target. | 188         __ Push(x3);  // Preserve new target. | 
| 189       } | 189       } | 
| (...skipping 3636 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3826   } | 3826   } | 
| 3827 | 3827 | 
| 3828   return INTERRUPT; | 3828   return INTERRUPT; | 
| 3829 } | 3829 } | 
| 3830 | 3830 | 
| 3831 | 3831 | 
| 3832 }  // namespace internal | 3832 }  // namespace internal | 
| 3833 }  // namespace v8 | 3833 }  // namespace v8 | 
| 3834 | 3834 | 
| 3835 #endif  // V8_TARGET_ARCH_ARM64 | 3835 #endif  // V8_TARGET_ARCH_ARM64 | 
| OLD | NEW | 
|---|