| 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/v8.h" |    5 #include "src/v8.h" | 
|    6  |    6  | 
|    7 #if V8_TARGET_ARCH_PPC |    7 #if V8_TARGET_ARCH_PPC | 
|    8  |    8  | 
|    9 #include "src/ic/call-optimization.h" |    9 #include "src/ic/call-optimization.h" | 
|   10 #include "src/ic/handler-compiler.h" |   10 #include "src/ic/handler-compiler.h" | 
|   11 #include "src/ic/ic.h" |   11 #include "src/ic/ic.h" | 
|   12  |   12  | 
|   13 namespace v8 { |   13 namespace v8 { | 
|   14 namespace internal { |   14 namespace internal { | 
|   15  |   15  | 
|   16 #define __ ACCESS_MASM(masm) |   16 #define __ ACCESS_MASM(masm) | 
|   17  |   17  | 
|   18  |   18  | 
 |   19 void NamedLoadHandlerCompiler::GenerateSlow(MacroAssembler* masm) { | 
 |   20   // Push receiver and key for runtime call. | 
 |   21   __ Push(LoadDescriptor::ReceiverRegister(), LoadDescriptor::NameRegister()); | 
 |   22  | 
 |   23   // The slow case calls into the runtime to complete the store without causing | 
 |   24   // an IC miss that would otherwise cause a transition to the generic stub. | 
 |   25   ExternalReference ref = | 
 |   26       ExternalReference(IC_Utility(IC::LoadIC_Slow), masm->isolate()); | 
 |   27   __ TailCallExternalReference(ref, 2, 1); | 
 |   28 } | 
 |   29  | 
 |   30  | 
 |   31 void NamedLoadHandlerCompiler::GenerateLoadSlow(MacroAssembler* masm) { | 
 |   32   // Push receiver and key for runtime call. | 
 |   33   __ Push(LoadDescriptor::ReceiverRegister(), LoadDescriptor::NameRegister()); | 
 |   34  | 
 |   35   // The slow case calls into the runtime to complete the store without causing | 
 |   36   // an IC miss that would otherwise cause a transition to the generic stub. | 
 |   37   ExternalReference ref = | 
 |   38       ExternalReference(IC_Utility(IC::KeyedLoadIC_Slow), masm->isolate()); | 
 |   39   __ TailCallExternalReference(ref, 2, 1); | 
 |   40 } | 
 |   41  | 
 |   42  | 
|   19 void NamedLoadHandlerCompiler::GenerateLoadViaGetter( |   43 void NamedLoadHandlerCompiler::GenerateLoadViaGetter( | 
|   20     MacroAssembler* masm, Handle<Map> map, Register receiver, Register holder, |   44     MacroAssembler* masm, Handle<Map> map, Register receiver, Register holder, | 
|   21     int accessor_index, int expected_arguments, Register scratch) { |   45     int accessor_index, int expected_arguments, Register scratch) { | 
|   22   // ----------- S t a t e ------------- |   46   // ----------- S t a t e ------------- | 
|   23   //  -- r3    : receiver |   47   //  -- r3    : receiver | 
|   24   //  -- r5    : name |   48   //  -- r5    : name | 
|   25   //  -- lr    : return address |   49   //  -- lr    : return address | 
|   26   // ----------------------------------- |   50   // ----------------------------------- | 
|   27   { |   51   { | 
|   28     FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); |   52     FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); | 
| (...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  781   // Return the generated code. |  805   // Return the generated code. | 
|  782   return GetCode(kind(), Code::NORMAL, name); |  806   return GetCode(kind(), Code::NORMAL, name); | 
|  783 } |  807 } | 
|  784  |  808  | 
|  785  |  809  | 
|  786 #undef __ |  810 #undef __ | 
|  787 }  // namespace internal |  811 }  // namespace internal | 
|  788 }  // namespace v8 |  812 }  // namespace v8 | 
|  789  |  813  | 
|  790 #endif  // V8_TARGET_ARCH_ARM |  814 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW |