Index: src/types-inl.h |
diff --git a/src/types-inl.h b/src/types-inl.h |
index 084f5db812d79e5431a7bf0877d1417151e4fef2..699d642d590296158597f7e6c97ca470a901585c 100644 |
--- a/src/types-inl.h |
+++ b/src/types-inl.h |
@@ -16,19 +16,29 @@ namespace internal { |
// ----------------------------------------------------------------------------- |
// TypeImpl |
-template <class Config> |
+template<class Config> |
typename TypeImpl<Config>::bitset TypeImpl<Config>::BitsetType::SignedSmall() { |
return i::SmiValuesAre31Bits() ? kSigned31 : kSigned32; |
} |
-template <class Config> |
+template<class Config> |
typename TypeImpl<Config>::bitset |
TypeImpl<Config>::BitsetType::UnsignedSmall() { |
return i::SmiValuesAre31Bits() ? kUnsigned30 : kUnsigned31; |
} |
+#define CONSTRUCT_SIMD_TYPE(NAME, Name, name, lane_count, lane_type) \ |
+template<class Config> \ |
+typename TypeImpl<Config>::TypeHandle TypeImpl<Config>::Name( \ |
+ Isolate* isolate, Region* region) { \ |
+ return Class(i::handle(isolate->heap()->name##_map()), region); \ |
+} |
+SIMD128_TYPES(CONSTRUCT_SIMD_TYPE) |
+#undef CONSTRUCT_SIMD_TYPE |
+ |
+ |
template<class Config> |
TypeImpl<Config>* TypeImpl<Config>::cast(typename Config::Base* object) { |
TypeImpl* t = static_cast<TypeImpl*>(object); |