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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 F(ArrayBufferSliceImpl, 3, 1) \ | 365 F(ArrayBufferSliceImpl, 3, 1) \ |
366 F(ArrayBufferIsView, 1, 1) \ | 366 F(ArrayBufferIsView, 1, 1) \ |
367 \ | 367 \ |
368 F(TypedArrayInitialize, 5, 1) \ | 368 F(TypedArrayInitialize, 5, 1) \ |
369 F(TypedArrayInitializeFromArrayLike, 4, 1) \ | 369 F(TypedArrayInitializeFromArrayLike, 4, 1) \ |
370 F(TypedArrayGetBuffer, 1, 1) \ | 370 F(TypedArrayGetBuffer, 1, 1) \ |
371 F(TypedArrayGetByteLength, 1, 1) \ | 371 F(TypedArrayGetByteLength, 1, 1) \ |
372 F(TypedArrayGetByteOffset, 1, 1) \ | 372 F(TypedArrayGetByteOffset, 1, 1) \ |
373 F(TypedArrayGetLength, 1, 1) \ | 373 F(TypedArrayGetLength, 1, 1) \ |
374 F(TypedArraySetFastCases, 3, 1) \ | 374 F(TypedArraySetFastCases, 3, 1) \ |
| 375 F(TypedArrayMaxSizeInHeap, 0, 1) \ |
375 \ | 376 \ |
376 F(DataViewInitialize, 4, 1) \ | 377 F(DataViewInitialize, 4, 1) \ |
377 F(DataViewGetBuffer, 1, 1) \ | 378 F(DataViewGetBuffer, 1, 1) \ |
378 F(DataViewGetByteLength, 1, 1) \ | 379 F(DataViewGetByteLength, 1, 1) \ |
379 F(DataViewGetByteOffset, 1, 1) \ | 380 F(DataViewGetByteOffset, 1, 1) \ |
380 F(DataViewGetInt8, 3, 1) \ | 381 F(DataViewGetInt8, 3, 1) \ |
381 F(DataViewGetUint8, 3, 1) \ | 382 F(DataViewGetUint8, 3, 1) \ |
382 F(DataViewGetInt16, 3, 1) \ | 383 F(DataViewGetInt16, 3, 1) \ |
383 F(DataViewGetUint16, 3, 1) \ | 384 F(DataViewGetUint16, 3, 1) \ |
384 F(DataViewGetInt32, 3, 1) \ | 385 F(DataViewGetInt32, 3, 1) \ |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 F(HasExternalUint8ClampedElements, 1, 1) \ | 460 F(HasExternalUint8ClampedElements, 1, 1) \ |
460 F(HasExternalArrayElements, 1, 1) \ | 461 F(HasExternalArrayElements, 1, 1) \ |
461 F(HasExternalInt8Elements, 1, 1) \ | 462 F(HasExternalInt8Elements, 1, 1) \ |
462 F(HasExternalUint8Elements, 1, 1) \ | 463 F(HasExternalUint8Elements, 1, 1) \ |
463 F(HasExternalInt16Elements, 1, 1) \ | 464 F(HasExternalInt16Elements, 1, 1) \ |
464 F(HasExternalUint16Elements, 1, 1) \ | 465 F(HasExternalUint16Elements, 1, 1) \ |
465 F(HasExternalInt32Elements, 1, 1) \ | 466 F(HasExternalInt32Elements, 1, 1) \ |
466 F(HasExternalUint32Elements, 1, 1) \ | 467 F(HasExternalUint32Elements, 1, 1) \ |
467 F(HasExternalFloat32Elements, 1, 1) \ | 468 F(HasExternalFloat32Elements, 1, 1) \ |
468 F(HasExternalFloat64Elements, 1, 1) \ | 469 F(HasExternalFloat64Elements, 1, 1) \ |
| 470 F(HasFixedUint8ClampedElements, 1, 1) \ |
| 471 F(HasFixedInt8Elements, 1, 1) \ |
| 472 F(HasFixedUint8Elements, 1, 1) \ |
| 473 F(HasFixedInt16Elements, 1, 1) \ |
| 474 F(HasFixedUint16Elements, 1, 1) \ |
| 475 F(HasFixedInt32Elements, 1, 1) \ |
| 476 F(HasFixedUint32Elements, 1, 1) \ |
| 477 F(HasFixedFloat32Elements, 1, 1) \ |
| 478 F(HasFixedFloat64Elements, 1, 1) \ |
469 F(HasFastProperties, 1, 1) \ | 479 F(HasFastProperties, 1, 1) \ |
470 F(TransitionElementsKind, 2, 1) \ | 480 F(TransitionElementsKind, 2, 1) \ |
471 F(HaveSameMap, 2, 1) \ | 481 F(HaveSameMap, 2, 1) \ |
472 F(IsAccessCheckNeeded, 1, 1) | 482 F(IsAccessCheckNeeded, 1, 1) |
473 | 483 |
474 | 484 |
475 #ifdef ENABLE_DEBUGGER_SUPPORT | 485 #ifdef ENABLE_DEBUGGER_SUPPORT |
476 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ | 486 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ |
477 /* Debugger support*/ \ | 487 /* Debugger support*/ \ |
478 F(DebugBreak, 0, 1) \ | 488 F(DebugBreak, 0, 1) \ |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 ARRAY_ID_UINT16 = 3, | 848 ARRAY_ID_UINT16 = 3, |
839 ARRAY_ID_INT16 = 4, | 849 ARRAY_ID_INT16 = 4, |
840 ARRAY_ID_UINT32 = 5, | 850 ARRAY_ID_UINT32 = 5, |
841 ARRAY_ID_INT32 = 6, | 851 ARRAY_ID_INT32 = 6, |
842 ARRAY_ID_FLOAT32 = 7, | 852 ARRAY_ID_FLOAT32 = 7, |
843 ARRAY_ID_FLOAT64 = 8, | 853 ARRAY_ID_FLOAT64 = 8, |
844 ARRAY_ID_UINT8_CLAMPED = 9 | 854 ARRAY_ID_UINT8_CLAMPED = 9 |
845 }; | 855 }; |
846 | 856 |
847 static void ArrayIdToTypeAndSize(int array_id, | 857 static void ArrayIdToTypeAndSize(int array_id, |
848 ExternalArrayType *type, size_t *element_size); | 858 ExternalArrayType *type, |
| 859 ElementsKind* external_elements_kind, |
| 860 ElementsKind* fixed_elements_kind, |
| 861 size_t *element_size); |
849 | 862 |
850 // Helper functions used stubs. | 863 // Helper functions used stubs. |
851 static void PerformGC(Object* result, Isolate* isolate); | 864 static void PerformGC(Object* result, Isolate* isolate); |
852 | 865 |
853 // Used in runtime.cc and hydrogen's VisitArrayLiteral. | 866 // Used in runtime.cc and hydrogen's VisitArrayLiteral. |
854 static Handle<Object> CreateArrayLiteralBoilerplate( | 867 static Handle<Object> CreateArrayLiteralBoilerplate( |
855 Isolate* isolate, | 868 Isolate* isolate, |
856 Handle<FixedArray> literals, | 869 Handle<FixedArray> literals, |
857 Handle<FixedArray> elements); | 870 Handle<FixedArray> elements); |
858 }; | 871 }; |
859 | 872 |
860 | 873 |
861 //--------------------------------------------------------------------------- | 874 //--------------------------------------------------------------------------- |
862 // Constants used by interface to runtime functions. | 875 // Constants used by interface to runtime functions. |
863 | 876 |
864 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; | 877 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; |
865 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; | 878 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; |
866 | 879 |
867 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 880 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
868 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 881 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
869 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; | 882 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; |
870 | 883 |
871 } } // namespace v8::internal | 884 } } // namespace v8::internal |
872 | 885 |
873 #endif // V8_RUNTIME_H_ | 886 #endif // V8_RUNTIME_H_ |
OLD | NEW |