| Index: src/snapshot/natives-external.cc
|
| diff --git a/src/snapshot/natives-external.cc b/src/snapshot/natives-external.cc
|
| index 94fc2c11ff8c4aa950d9b14f767ed527732405a8..e0df27f3ad5c20c41433b1724f6c8dbe345c8dcf 100644
|
| --- a/src/snapshot/natives-external.cc
|
| +++ b/src/snapshot/natives-external.cc
|
| @@ -229,11 +229,19 @@ Vector<const char> NativesCollection<type>::GetScriptsSource() {
|
| }
|
|
|
|
|
| -// The compiler can't 'see' all uses of the static methods and hence
|
| -// my choice to elide them. This we'll explicitly instantiate these.
|
| -template class NativesCollection<CORE>;
|
| -template class NativesCollection<CODE_STUB>;
|
| -template class NativesCollection<EXPERIMENTAL>;
|
| -template class NativesCollection<EXTRAS>;
|
| +// Explicit template instantiations.
|
| +#define INSTANTIATE_TEMPLATES(T) \
|
| + template int NativesCollection<T>::GetBuiltinsCount(); \
|
| + template int NativesCollection<T>::GetDebuggerCount(); \
|
| + template int NativesCollection<T>::GetIndex(const char* name); \
|
| + template Vector<const char> NativesCollection<T>::GetScriptSource(int i); \
|
| + template Vector<const char> NativesCollection<T>::GetScriptName(int i); \
|
| + template Vector<const char> NativesCollection<T>::GetScriptsSource();
|
| +INSTANTIATE_TEMPLATES(CORE)
|
| +INSTANTIATE_TEMPLATES(CODE_STUB)
|
| +INSTANTIATE_TEMPLATES(EXPERIMENTAL)
|
| +INSTANTIATE_TEMPLATES(EXTRAS)
|
| +#undef INSTANTIATE_TEMPLATES
|
| +
|
| } // namespace internal
|
| } // namespace v8
|
|
|