| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 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 #ifndef V8_CODE_STUBS_H_ |     5 #ifndef V8_CODE_STUBS_H_ | 
|     6 #define V8_CODE_STUBS_H_ |     6 #define V8_CODE_STUBS_H_ | 
|     7  |     7  | 
|     8 #include "src/allocation.h" |     8 #include "src/allocation.h" | 
|     9 #include "src/assembler.h" |     9 #include "src/assembler.h" | 
|    10 #include "src/codegen.h" |    10 #include "src/codegen.h" | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|    62   V(ArrayNoArgumentConstructor)             \ |    62   V(ArrayNoArgumentConstructor)             \ | 
|    63   V(ArraySingleArgumentConstructor)         \ |    63   V(ArraySingleArgumentConstructor)         \ | 
|    64   V(BinaryOpIC)                             \ |    64   V(BinaryOpIC)                             \ | 
|    65   V(BinaryOpWithAllocationSite)             \ |    65   V(BinaryOpWithAllocationSite)             \ | 
|    66   V(CreateAllocationSite)                   \ |    66   V(CreateAllocationSite)                   \ | 
|    67   V(CreateWeakCell)                         \ |    67   V(CreateWeakCell)                         \ | 
|    68   V(ElementsTransitionAndStore)             \ |    68   V(ElementsTransitionAndStore)             \ | 
|    69   V(FastArrayPush)                          \ |    69   V(FastArrayPush)                          \ | 
|    70   V(FastCloneRegExp)                        \ |    70   V(FastCloneRegExp)                        \ | 
|    71   V(FastCloneShallowArray)                  \ |    71   V(FastCloneShallowArray)                  \ | 
|    72   V(FastCloneShallowObject)                 \ |  | 
|    73   V(FastNewClosure)                         \ |    72   V(FastNewClosure)                         \ | 
|    74   V(FastNewContext)                         \ |    73   V(FastNewContext)                         \ | 
|    75   V(FastNewObject)                          \ |    74   V(FastNewObject)                          \ | 
|    76   V(FastNewRestParameter)                   \ |    75   V(FastNewRestParameter)                   \ | 
|    77   V(FastNewSloppyArguments)                 \ |    76   V(FastNewSloppyArguments)                 \ | 
|    78   V(FastNewStrictArguments)                 \ |    77   V(FastNewStrictArguments)                 \ | 
|    79   V(GrowArrayElements)                      \ |    78   V(GrowArrayElements)                      \ | 
|    80   V(InternalArrayNArgumentsConstructor)     \ |    79   V(InternalArrayNArgumentsConstructor)     \ | 
|    81   V(InternalArrayNoArgumentConstructor)     \ |    80   V(InternalArrayNoArgumentConstructor)     \ | 
|    82   V(InternalArraySingleArgumentConstructor) \ |    81   V(InternalArraySingleArgumentConstructor) \ | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
|   109   V(AllocateInt8x16)                        \ |   108   V(AllocateInt8x16)                        \ | 
|   110   V(AllocateUint8x16)                       \ |   109   V(AllocateUint8x16)                       \ | 
|   111   V(AllocateBool8x16)                       \ |   110   V(AllocateBool8x16)                       \ | 
|   112   V(StringLength)                           \ |   111   V(StringLength)                           \ | 
|   113   V(Add)                                    \ |   112   V(Add)                                    \ | 
|   114   V(Subtract)                               \ |   113   V(Subtract)                               \ | 
|   115   V(Multiply)                               \ |   114   V(Multiply)                               \ | 
|   116   V(BitwiseAnd)                             \ |   115   V(BitwiseAnd)                             \ | 
|   117   V(BitwiseOr)                              \ |   116   V(BitwiseOr)                              \ | 
|   118   V(BitwiseXor)                             \ |   117   V(BitwiseXor)                             \ | 
 |   118   V(FastCloneShallowObject)                 \ | 
|   119   V(LessThan)                               \ |   119   V(LessThan)                               \ | 
|   120   V(LessThanOrEqual)                        \ |   120   V(LessThanOrEqual)                        \ | 
|   121   V(GreaterThan)                            \ |   121   V(GreaterThan)                            \ | 
|   122   V(GreaterThanOrEqual)                     \ |   122   V(GreaterThanOrEqual)                     \ | 
|   123   V(Equal)                                  \ |   123   V(Equal)                                  \ | 
|   124   V(NotEqual)                               \ |   124   V(NotEqual)                               \ | 
|   125   V(StrictEqual)                            \ |   125   V(StrictEqual)                            \ | 
|   126   V(StrictNotEqual)                         \ |   126   V(StrictNotEqual)                         \ | 
|   127   V(StringEqual)                            \ |   127   V(StringEqual)                            \ | 
|   128   V(StringNotEqual)                         \ |   128   V(StringNotEqual)                         \ | 
| (...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1048     return AllocationSiteModeBits::decode(sub_minor_key()); |  1048     return AllocationSiteModeBits::decode(sub_minor_key()); | 
|  1049   } |  1049   } | 
|  1050  |  1050  | 
|  1051  private: |  1051  private: | 
|  1052   class AllocationSiteModeBits: public BitField<AllocationSiteMode, 0, 1> {}; |  1052   class AllocationSiteModeBits: public BitField<AllocationSiteMode, 0, 1> {}; | 
|  1053  |  1053  | 
|  1054   DEFINE_CALL_INTERFACE_DESCRIPTOR(FastCloneShallowArray); |  1054   DEFINE_CALL_INTERFACE_DESCRIPTOR(FastCloneShallowArray); | 
|  1055   DEFINE_HYDROGEN_CODE_STUB(FastCloneShallowArray, HydrogenCodeStub); |  1055   DEFINE_HYDROGEN_CODE_STUB(FastCloneShallowArray, HydrogenCodeStub); | 
|  1056 }; |  1056 }; | 
|  1057  |  1057  | 
|  1058  |  1058 class FastCloneShallowObjectStub : public TurboFanCodeStub { | 
|  1059 class FastCloneShallowObjectStub : public HydrogenCodeStub { |  | 
|  1060  public: |  1059  public: | 
|  1061   // Maximum number of properties in copied object. |  1060   // Maximum number of properties in copied object. | 
|  1062   static const int kMaximumClonedProperties = 6; |  1061   static const int kMaximumClonedProperties = 6; | 
|  1063  |  1062  | 
|  1064   FastCloneShallowObjectStub(Isolate* isolate, int length) |  1063   FastCloneShallowObjectStub(Isolate* isolate, int length) | 
|  1065       : HydrogenCodeStub(isolate) { |  1064       : TurboFanCodeStub(isolate) { | 
|  1066     DCHECK_GE(length, 0); |  1065     DCHECK_GE(length, 0); | 
|  1067     DCHECK_LE(length, kMaximumClonedProperties); |  1066     DCHECK_LE(length, kMaximumClonedProperties); | 
|  1068     set_sub_minor_key(LengthBits::encode(length)); |  1067     minor_key_ = LengthBits::encode(LengthBits::encode(length)); | 
|  1069   } |  1068   } | 
|  1070  |  1069  | 
|  1071   int length() const { return LengthBits::decode(sub_minor_key()); } |  1070   int length() const { return LengthBits::decode(minor_key_); } | 
|  1072  |  1071  | 
|  1073  private: |  1072  private: | 
|  1074   class LengthBits : public BitField<int, 0, 4> {}; |  1073   class LengthBits : public BitField<int, 0, 4> {}; | 
|  1075  |  1074  | 
|  1076   DEFINE_CALL_INTERFACE_DESCRIPTOR(FastCloneShallowObject); |  1075   DEFINE_CALL_INTERFACE_DESCRIPTOR(FastCloneShallowObject); | 
|  1077   DEFINE_HYDROGEN_CODE_STUB(FastCloneShallowObject, HydrogenCodeStub); |  1076   DEFINE_TURBOFAN_CODE_STUB(FastCloneShallowObject, TurboFanCodeStub); | 
|  1078 }; |  1077 }; | 
|  1079  |  1078  | 
|  1080  |  1079  | 
|  1081 class CreateAllocationSiteStub : public HydrogenCodeStub { |  1080 class CreateAllocationSiteStub : public HydrogenCodeStub { | 
|  1082  public: |  1081  public: | 
|  1083   explicit CreateAllocationSiteStub(Isolate* isolate) |  1082   explicit CreateAllocationSiteStub(Isolate* isolate) | 
|  1084       : HydrogenCodeStub(isolate) { } |  1083       : HydrogenCodeStub(isolate) { } | 
|  1085  |  1084  | 
|  1086   static void GenerateAheadOfTime(Isolate* isolate); |  1085   static void GenerateAheadOfTime(Isolate* isolate); | 
|  1087  |  1086  | 
| (...skipping 2011 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3099 #undef DEFINE_HYDROGEN_CODE_STUB |  3098 #undef DEFINE_HYDROGEN_CODE_STUB | 
|  3100 #undef DEFINE_CODE_STUB |  3099 #undef DEFINE_CODE_STUB | 
|  3101 #undef DEFINE_CODE_STUB_BASE |  3100 #undef DEFINE_CODE_STUB_BASE | 
|  3102  |  3101  | 
|  3103 extern Representation RepresentationFromType(Type* type); |  3102 extern Representation RepresentationFromType(Type* type); | 
|  3104  |  3103  | 
|  3105 }  // namespace internal |  3104 }  // namespace internal | 
|  3106 }  // namespace v8 |  3105 }  // namespace v8 | 
|  3107  |  3106  | 
|  3108 #endif  // V8_CODE_STUBS_H_ |  3107 #endif  // V8_CODE_STUBS_H_ | 
| OLD | NEW |