Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/runtime.h

Issue 150813004: In-heap small typed arrays (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: CR feedback + rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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_
OLDNEW
« src/objects.cc ('K') | « src/objects-inl.h ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698