OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
66 V(FastCloneShallowArray) \ | 66 V(FastCloneShallowArray) \ |
67 V(FastCloneShallowObject) \ | 67 V(FastCloneShallowObject) \ |
68 V(ToBoolean) \ | 68 V(ToBoolean) \ |
69 V(ToNumber) \ | 69 V(ToNumber) \ |
70 V(ArgumentsAccess) \ | 70 V(ArgumentsAccess) \ |
71 V(RegExpConstructResult) \ | 71 V(RegExpConstructResult) \ |
72 V(NumberToString) \ | 72 V(NumberToString) \ |
73 V(CEntry) \ | 73 V(CEntry) \ |
74 V(JSEntry) \ | 74 V(JSEntry) \ |
75 V(KeyedLoadElement) \ | 75 V(KeyedLoadElement) \ |
76 V(ArrayNoArgumentConstructor) \ | |
77 V(ArraySingleArgumentConstructor) \ | |
78 V(ArrayNArgumentsConstructor) \ | |
76 V(KeyedStoreElement) \ | 79 V(KeyedStoreElement) \ |
77 V(DebuggerStatement) \ | 80 V(DebuggerStatement) \ |
78 V(StringDictionaryLookup) \ | 81 V(StringDictionaryLookup) \ |
79 V(ElementsTransitionAndStore) \ | 82 V(ElementsTransitionAndStore) \ |
80 V(TransitionElementsKind) \ | 83 V(TransitionElementsKind) \ |
81 V(StoreArrayLiteralElement) \ | 84 V(StoreArrayLiteralElement) \ |
82 V(StubFailureTrampoline) \ | 85 V(StubFailureTrampoline) \ |
83 V(ProfileEntryHook) | 86 V(ProfileEntryHook) |
84 | 87 |
85 // List of code stubs only used on ARM platforms. | 88 // List of code stubs only used on ARM platforms. |
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1250 | 1253 |
1251 private: | 1254 private: |
1252 class FromKindBits: public BitField<ElementsKind, 8, 8> {}; | 1255 class FromKindBits: public BitField<ElementsKind, 8, 8> {}; |
1253 class ToKindBits: public BitField<ElementsKind, 0, 8> {}; | 1256 class ToKindBits: public BitField<ElementsKind, 0, 8> {}; |
1254 uint32_t bit_field_; | 1257 uint32_t bit_field_; |
1255 | 1258 |
1256 DISALLOW_COPY_AND_ASSIGN(TransitionElementsKindStub); | 1259 DISALLOW_COPY_AND_ASSIGN(TransitionElementsKindStub); |
1257 }; | 1260 }; |
1258 | 1261 |
1259 | 1262 |
1263 class ArrayNoArgumentConstructorStub : public HydrogenCodeStub { | |
1264 public: | |
1265 ArrayNoArgumentConstructorStub() { | |
1266 } | |
1267 | |
1268 Major MajorKey() { return ArrayNoArgumentConstructor; } | |
1269 int MinorKey() { return 0; } | |
Toon Verwaest
2013/02/13 15:14:51
I guess you don't need to overwrite the MinorKey?
mvstanton
2013/02/19 11:04:08
Actually you do, pure virtual...in the following c
| |
1270 | |
1271 virtual Handle<Code> GenerateCode(); | |
1272 | |
1273 virtual void InitializeInterfaceDescriptor( | |
1274 Isolate* isolate, | |
1275 CodeStubInterfaceDescriptor* descriptor); | |
1276 | |
1277 private: | |
1278 DISALLOW_COPY_AND_ASSIGN(ArrayNoArgumentConstructorStub); | |
1279 }; | |
1280 | |
1281 | |
1282 class ArraySingleArgumentConstructorStub : public HydrogenCodeStub { | |
1283 public: | |
1284 ArraySingleArgumentConstructorStub() { | |
1285 } | |
1286 | |
1287 Major MajorKey() { return ArraySingleArgumentConstructor; } | |
1288 int MinorKey() { return 0; } | |
1289 | |
1290 virtual Handle<Code> GenerateCode(); | |
1291 | |
1292 virtual void InitializeInterfaceDescriptor( | |
1293 Isolate* isolate, | |
1294 CodeStubInterfaceDescriptor* descriptor); | |
1295 | |
1296 private: | |
1297 DISALLOW_COPY_AND_ASSIGN(ArraySingleArgumentConstructorStub); | |
1298 }; | |
1299 | |
1300 | |
1301 class ArrayNArgumentsConstructorStub : public HydrogenCodeStub { | |
1302 public: | |
1303 ArrayNArgumentsConstructorStub() { | |
1304 } | |
1305 | |
1306 Major MajorKey() { return ArrayNArgumentsConstructor; } | |
1307 int MinorKey() { return 0; } | |
1308 | |
1309 virtual Handle<Code> GenerateCode(); | |
1310 | |
1311 virtual void InitializeInterfaceDescriptor( | |
1312 Isolate* isolate, | |
1313 CodeStubInterfaceDescriptor* descriptor); | |
1314 | |
1315 private: | |
1316 DISALLOW_COPY_AND_ASSIGN(ArrayNArgumentsConstructorStub); | |
1317 }; | |
1318 | |
1319 | |
1260 class KeyedStoreElementStub : public PlatformCodeStub { | 1320 class KeyedStoreElementStub : public PlatformCodeStub { |
1261 public: | 1321 public: |
1262 KeyedStoreElementStub(bool is_js_array, | 1322 KeyedStoreElementStub(bool is_js_array, |
1263 ElementsKind elements_kind, | 1323 ElementsKind elements_kind, |
1264 KeyedAccessGrowMode grow_mode) | 1324 KeyedAccessGrowMode grow_mode) |
1265 : is_js_array_(is_js_array), | 1325 : is_js_array_(is_js_array), |
1266 elements_kind_(elements_kind), | 1326 elements_kind_(elements_kind), |
1267 grow_mode_(grow_mode), | 1327 grow_mode_(grow_mode), |
1268 fp_registers_(CanUseFPRegisters()) { } | 1328 fp_registers_(CanUseFPRegisters()) { } |
1269 | 1329 |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1473 | 1533 |
1474 // The current function entry hook. | 1534 // The current function entry hook. |
1475 static FunctionEntryHook entry_hook_; | 1535 static FunctionEntryHook entry_hook_; |
1476 | 1536 |
1477 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); | 1537 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
1478 }; | 1538 }; |
1479 | 1539 |
1480 } } // namespace v8::internal | 1540 } } // namespace v8::internal |
1481 | 1541 |
1482 #endif // V8_CODE_STUBS_H_ | 1542 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |