Chromium Code Reviews| 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 |