| OLD | NEW | 
|     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/ast/scopes.h" |     7 #include "src/ast/scopes.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 1559 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1570   if (info()->is_osr()) { |  1570   if (info()->is_osr()) { | 
|  1571     // TurboFan OSR-compiled functions cannot be entered directly. |  1571     // TurboFan OSR-compiled functions cannot be entered directly. | 
|  1572     __ Abort(kShouldNotDirectlyEnterOsrFunction); |  1572     __ Abort(kShouldNotDirectlyEnterOsrFunction); | 
|  1573  |  1573  | 
|  1574     // Unoptimized code jumps directly to this entrypoint while the unoptimized |  1574     // Unoptimized code jumps directly to this entrypoint while the unoptimized | 
|  1575     // frame is still on the stack. Optimized code uses OSR values directly from |  1575     // frame is still on the stack. Optimized code uses OSR values directly from | 
|  1576     // the unoptimized frame. Thus, all that needs to be done is to allocate the |  1576     // the unoptimized frame. Thus, all that needs to be done is to allocate the | 
|  1577     // remaining stack slots. |  1577     // remaining stack slots. | 
|  1578     if (FLAG_code_comments) __ RecordComment("-- OSR entrypoint --"); |  1578     if (FLAG_code_comments) __ RecordComment("-- OSR entrypoint --"); | 
|  1579     osr_pc_offset_ = __ pc_offset(); |  1579     osr_pc_offset_ = __ pc_offset(); | 
|  1580     // TODO(titzer): cannot address target function == local #-1 |  | 
|  1581     __ LoadP(r4, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |  | 
|  1582     stack_shrink_slots -= OsrHelper(info()).UnoptimizedFrameSlots(); |  1580     stack_shrink_slots -= OsrHelper(info()).UnoptimizedFrameSlots(); | 
|  1583   } |  1581   } | 
|  1584  |  1582  | 
|  1585   const RegList double_saves = descriptor->CalleeSavedFPRegisters(); |  1583   const RegList double_saves = descriptor->CalleeSavedFPRegisters(); | 
|  1586   if (double_saves != 0) { |  1584   if (double_saves != 0) { | 
|  1587     stack_shrink_slots += frame()->AlignSavedCalleeRegisterSlots(); |  1585     stack_shrink_slots += frame()->AlignSavedCalleeRegisterSlots(); | 
|  1588   } |  1586   } | 
|  1589   if (stack_shrink_slots > 0) { |  1587   if (stack_shrink_slots > 0) { | 
|  1590     __ Add(sp, sp, -stack_shrink_slots * kPointerSize, r0); |  1588     __ Add(sp, sp, -stack_shrink_slots * kPointerSize, r0); | 
|  1591   } |  1589   } | 
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1855       padding_size -= v8::internal::Assembler::kInstrSize; |  1853       padding_size -= v8::internal::Assembler::kInstrSize; | 
|  1856     } |  1854     } | 
|  1857   } |  1855   } | 
|  1858 } |  1856 } | 
|  1859  |  1857  | 
|  1860 #undef __ |  1858 #undef __ | 
|  1861  |  1859  | 
|  1862 }  // namespace compiler |  1860 }  // namespace compiler | 
|  1863 }  // namespace internal |  1861 }  // namespace internal | 
|  1864 }  // namespace v8 |  1862 }  // namespace v8 | 
| OLD | NEW |