#1678 Create and Implement shim definitions for V8-specific code in new regexp implementation

Closed
opened 6 months ago by mattatobin · 9 comments

Mozilla added shim code to all the V8 functions that it needs to either alt impls or stuff SpiderMonkey has. I am gonna land this in a branch as-is but it does not currently build successfully. Something about syntax errors referencing a class template instantiation v8::internal::Handle<T> being compiled.

UNIFIED_SOURCES does not seem to be in play but I am gonna return the sources list back to unified for the time being.

The branch will be v8re-shim-work. If you don’t have push access target your PR to that branch and do Part 2...


BMO Reference: Bug 1592307 and Bug 1620020

Mozilla added shim code to all the V8 functions that it needs to either alt impls or stuff SpiderMonkey has. I am gonna land this in a branch as-is but it does not currently build successfully. Something about syntax errors referencing a class template instantiation `v8::internal::Handle<T>` being compiled. `UNIFIED_SOURCES` does not seem to be in play but I am gonna return the sources list back to unified for the time being. The branch will be `v8re-shim-work`. If you don't have push access target your PR to that branch and do Part 2... ---- BMO Reference: [Bug 1592307](https://bugzilla.mozilla.org/show_bug.cgi?id=1592307) and [Bug 1620020](https://bugzilla.mozilla.org/show_bug.cgi?id=1620020)
mattatobin added the
C: Javascript
label 6 months ago
mattatobin commented 6 months ago
Poster

These logs are in non-unified building mode.

Windows:

0:34.69 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2143: syntax error: missing ';' before '->'
 0:34.69 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(685): note: see reference to class template instantiation 'v8::internal::Handle<T>' being compiled
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<T>::ObjectRef': 'inline' not permitted on data declarations
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): error C2664: 'const JS::Latin1Char *JSLinearString::latin1Chars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &'
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC'
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const uint8_t>'
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): note: No constructor could take the source type, or constructor overload resolution was ambiguous
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): error C2664: 'const char16_t *JSLinearString::twoByteChars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &'
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC'
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const v8::uc16>'
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): note: No constructor could take the source type, or constructor overload resolution was ambiguous
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2039: 'as': is not a member of 'js::gc::Cell'
 0:34.71 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell'
 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2059: syntax error: ')'
 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/UniquePtr.h(316): error C2182: '*': illegal use of type 'void'
 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(106): note: see reference to class template instantiation 'mozilla::UniquePtr<void,JS::FreePolicy>' being compiled
 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(108): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>::Storage' being compiled
 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(117): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>' being compiled
 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1045): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>' being compiled
 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1031): error C2660: 'JSRuntime::handleInterrupt': function does not take 0 arguments
 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1079): error C3861: 'CheckRecursionLimitDontReport': identifierregexp-bytecode-peephole.cc
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2143: syntax error: missing ';' before '->'
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(685): note: see reference to class template instantiation 'v8::internal::Handle<T>' being compiled
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<T>::ObjectRef': 'inline' not permitted on data declarations
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): error C2664: 'const JS::Latin1Char *JSLinearString::latin1Chars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &'
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC'
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const uint8_t>'
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): note: No constructor could take the source type, or constructor overload resolution was ambiguous
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): error C2664: 'const char16_t *JSLinearString::twoByteChars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &'
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC'
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const v8::uc16>'
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): note: No constructor could take the source type, or constructor overload resolution was ambiguous
 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2039: 'as': is not a member of 'js::gc::Cell'
 0:34.74 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell'
 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2059: syntax error: ')'
 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/UniquePtr.h(316): error C2182: '*': illegal use of type 'void'
 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(106): note: see reference to class template instantiation 'mozilla::UniquePtr<void,JS::FreePolicy>' being compiled
 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(108): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>::Storage' being compiled
 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(117): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>' being compiled
 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1045): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>' being compiled
 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1031): error C2660: 'JSRuntime::handleInterrupt': function does not take 0 arguments
 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1079): error C3861: 'CheckRecursionLimitDontReport': identifier  not found
 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1082): error C2039: 'hasAnyPendingInterrupt': is not a member of 'JSContext'
 0:34.79 b:\binoc-central\platform\js\src\jscntxt.h(323): note: see declaration of 'JSContext'
 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1086): error C3861: 'CheckRecursionLimitConservativeDontReport': identifier not found
 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1105): error C2039: 'as': is not a member of 'js::gc::Cell'
 0:34.79 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell'
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1105): error C2059: syntax error: ')'
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::FixedArray>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS'
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp.h(41): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::FixedArray>' being compiled
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::FixedArray>::ObjectRef': 'inline' not permitted on data declarations
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::String>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS'
 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp.h(45): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::String>' being compiled
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::String>::ObjectRef': 'inline' not permitted on data declarations
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::JSRegExp>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS'
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp.h(154): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::JSRegExp>' being compiled
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::JSRegExp>::ObjectRef': 'inline' not permitted on data declarations
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-bytecode-generator.h(14): error C4275: non dll-interface class 'v8::internal::RegExpMacroAssembler' used as base for dll-interface class 'v8::internal::RegExpBytecodeGenerator'
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-macro-assembler.h(28): note: see declaration of 'v8::internal::RegExpMacroAssembler'
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-bytecode-generator.h(14): note: see declaration of 'v8::internal::RegExpBytecodeGenerator'
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::ByteArray>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS'
 0:34.81 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(307): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::ByteArray>' being compiled
 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::ByteArray>::ObjectRef': 'inline' not permitted on data declarations
 0:34.82 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(313): error C2839: invalid return type 'int' for overloaded 'operator ->'
 0:34.82 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(313): error C2039: 'get': is not a member of 'v8::internal::Handle<v8::internal::ByteArray>'
 0:34.82 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1019): note: see declaration of 'v8::internal::Handle<v8::internal::ByteArray>'
 0:34.82 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::HeapObject>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS'
 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(367): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::HeapObject>' being compiled
 0:34.86 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::HeapObject>::ObjectRef': 'inline' not permitted on data declarations
 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(377): error C2839: invalid return type 'int' for overloaded 'operator ->'
 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(377): error C2039: 'GetDataStartAddress': is not a member of 'v8::internal::Handle<v8::internal::ByteArray>'
 0:34.86 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1019): note: see declaration of 'v8::internal::Handle<v8::internal::ByteArray>'
 0:34.86
 0:34.88 In the directory  /b/.obj/trunk-v8re-shim-work/navigator-win64/js/src/regexp
 0:34.88 The following command failed to execute properly:
 0:34.88 b:/.obj/trunk-v8re-shim-work/navigator-win64/_virtualenv/Scripts/python.exe -m mozbuild.action.cl cl.EXE -Foregexp-bytecode-generator.obj -c -DNDEBUG=1 -DTRIMMED=1 -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="" -DDLL_SUFFIX=".dll" -DFFI_BUILDING -D_CRT_RAND_S -DNOMINMAX -DMOZ_HAS_MOZGLUE -Ib:/binoc-central/platform/js/src/regexp -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/js/src/regexp -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/js/src -Ib:/binoc-central/platform/js/src -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/dist/include -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/dist/include/nspr -MD -FI b:/.obj/trunk-v8re-shim-work/navigator-win64/js/src/js-confdefs.h -DMOZILLA_CLIENT -TP -nologo -utf-8 -wd4345 -wd4351 -wd4800 -wd4595 -D_CRT_SECURE_NO_WARNINGS -wd5026 -wd5027 -Zc:sizedDealloc- -D_HAS_EXCEPTIONS=0 -W3 -Gy -Zc:inline -FS -Gw -wd4244 -wd4267 -wd4251 -we4553 -GR- -Zi -O2 -GS- -favor:AMD64 -Oy -fp:precise -wd4805 -wd4661 -we4067 -we4258 -we4275 -wd4146 -wd4577 -wd4312 -Fdgenerated.pdb b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc
 0:34.89 b:/binoc-central/platform/config/rules.mk:884: recipe for target 'regexp-bytecode-generator.obj' failed
 0:34.89 mozmake.EXE[5]: *** [regexp-bytecode-generator.obj] Error 1
 0:34.89 mozmake.EXE[5]: *** Waiting for unfinished jobs....

Linux:

 0:24.05 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:27,
 0:24.05                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.05                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.05 /home/mattatobin/development/binoc-central/platform/js/src/regexp/util/vector.h: In constructor ‘v8::internal::Vector<T>::Vector(T*, size_t)’:
 0:24.05 /home/mattatobin/development/binoc-central/platform/js/src/regexp/util/vector.h:52:3: error: ‘constexpr’ constructor does not have empty body
 0:24.05    }
 0:24.05    ^
 0:24.17 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: At global scope:
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:673:3: error: field ‘ObjectRef’ has incomplete type ‘v8::internal::MOZ_TEMPORARY_CLASS’
 0:24.17    };
 0:24.17    ^
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:664:9: note: forward declaration of ‘class v8::internal::MOZ_TEMPORARY_CLASS’
 0:24.17    class MOZ_TEMPORARY_CLASS ObjectRef {
 0:24.17          ^~~~~~~~~~~~~~~~~~~
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:674:10: error: ‘ObjectRef’ does not name a type; did you mean ‘Object’?
 0:24.17    inline ObjectRef operator->() const { return ObjectRef{**this}; }
 0:24.17           ^~~~~~~~~
 0:24.17           Object
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Vector<const unsigned char> v8::internal::String::FlatContent::ToOneByteVector() const’:
 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:790:63: error: no matching function for call to ‘JSLinearString::latin1Chars(const JS::AutoAssertNoGC&) const’
 0:24.17        return Vector<const uint8_t>(string_->latin1Chars(no_gc_),
 0:24.17                                                                ^
 0:24.17 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jit/IonTypes.h:18,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/TypeInference.h:21,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/ObjectGroup.h:17,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/Shape.h:30,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/jsobj.h:26,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/Caches.h:13,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:17,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24,
 0:24.17                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.18                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:648:27: note: candidate: ‘const Latin1Char* JSLinearString::latin1Chars(const JS::AutoCheckCannotGC&) const’
 0:24.18      const JS::Latin1Char* latin1Chars(const JS::AutoCheckCannotGC& nogc) const {
 0:24.18                            ^~~~~~~~~~~
 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:648:27: note:   no known conversion for argument 1 from ‘const JS::AutoAssertNoGC’ to ‘const JS::AutoCheckCannotGC&’
 0:24.18 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.18                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Vector<const char16_t> v8::internal::String::FlatContent::ToUC16Vector() const’:
 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:795:61: error: no matching function for call to ‘JSLinearString::twoByteChars(const JS::AutoAssertNoGC&) const’
 0:24.18        return Vector<const uc16>(string_->twoByteChars(no_gc_),
 0:24.18                                                              ^
 0:24.19 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jit/IonTypes.h:18,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/TypeInference.h:21,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/ObjectGroup.h:17,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/Shape.h:30,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/jsobj.h:26,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/vm/Caches.h:13,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:17,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.19                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.19 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:653:21: note: candidate: ‘const char16_t* JSLinearString::twoByteChars(const JS::AutoCheckCannotGC&) const’
 0:24.19      const char16_t* twoByteChars(const JS::AutoCheckCannotGC& nogc) const {
 0:24.19                      ^~~~~~~~~~~~
 0:24.19 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:653:21: note:   no known conversion for argument 1 from ‘const JS::AutoAssertNoGC’ to ‘const JS::AutoCheckCannotGC&’
 0:24.20 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.20                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘js::RegExpShared* v8::internal::JSRegExp::inner()’:
 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:32: error: ‘struct js::gc::Cell’ has no member named ‘as’
 0:24.20      return value_.toGCThing()->as<js::RegExpShared>();
 0:24.20                                 ^~
 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:51: error: expected primary-expression before ‘>’ token
 0:24.20      return value_.toGCThing()->as<js::RegExpShared>();
 0:24.20                                                    ^
 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:53: error: expected primary-expression before ‘)’ token
 0:24.20      return value_.toGCThing()->as<js::RegExpShared>();
 0:24.20                                                      ^
 0:24.21 In file included from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/Span.h:29,
 0:24.21                  from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/Range.h:11,
 0:24.21                  from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/js/CharacterEncoding.h:9,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:13,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.21                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/UniquePtr.h: In instantiation of ‘class mozilla::UniquePtr<void, JS::FreePolicy>’:
 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:106:17:   required from ‘union mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::SegmentImpl<1>::Storage’
 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:108:7:   required from ‘struct mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::SegmentImpl<1>’
 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:117:51:   required from ‘const size_t mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::kSingleElementSegmentSize’
 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:119:31:   required from ‘const size_t mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::kSegmentCapacity’
 0:24.22 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:123:41:   required from ‘class mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >’
 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1045:48:   required from here
 0:24.22 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/UniquePtr.h:316:6: error: forming reference to void
 0:24.22    T& operator*() const { return *get(); }
 0:24.22       ^~~~~~~~
 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Object v8::internal::Isolate::HandleInterrupts()’:
 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1031:58: error: no matching function for call to ‘JSContext::handleInterrupt()’
 0:24.22      return Object(JS::BooleanValue(cx()->handleInterrupt()));
 0:24.22                                                           ^
 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:18,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/vm/Runtime.h:605:10: note: candidate: ‘bool JSRuntime::handleInterrupt(JSContext*)’
 0:24.22      bool handleInterrupt(JSContext* cx);
 0:24.22           ^~~~~~~~~~~~~~~
 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/vm/Runtime.h:605:10: note:   candidate expects 1 argument, 0 provided
 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8,
 0:24.22                  from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5:
 0:24.23 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::HasOverflowed()’:
 0:24.23 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1079:34: error: ‘CheckRecursionLimitDontReport’ was not declared in this scope
 0:24.23    bool HasOverflowed() { return !CheckRecursionLimitDontReport(cx_); }
 0:24.23                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::InterruptRequested()’:
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1082:43: error: ‘struct JSContext’ has no member named ‘hasAnyPendingInterrupt’; did you mean ‘hasPendingInterrupt’?
 0:24.24    bool InterruptRequested() { return cx_->hasAnyPendingInterrupt(); }
 0:24.24                                            ^~~~~~~~~~~~~~~~~~~~~~
 0:24.24                                            hasPendingInterrupt
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::JsHasOverflowed()’:
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1086:13: error: ‘CheckRecursionLimitConservativeDontReport’ was not declared in this scope
 0:24.24      return !CheckRecursionLimitConservativeDontReport(cx_);
 0:24.24              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘js::jit::JitCode* v8::internal::Code::inner()’:
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:32: error: ‘struct js::gc::Cell’ has no member named ‘as’
 0:24.24      return value_.toGCThing()->as<js::jit::JitCode>();
 0:24.24                                 ^~
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:51: error: expected primary-expression before ‘>’ token
 0:24.24      return value_.toGCThing()->as<js::jit::JitCode>();
 0:24.24                                                    ^
 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:53: error: expected primary-expression before ‘)’ token
 0:24.24      return value_.toGCThing()->as<js::jit::JitCode>();
 0:24.24                                                      ^
 0:24.65 
 0:24.65 In the directory  /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/regexp
 0:24.65 The following command failed to execute properly:
 0:24.65 /opt/rh/devtoolset-8/root/usr/bin/g++ -std=gnu++11 -o regexp-ast.o -c -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/system_wrappers -include /home/mattatobin/development/binoc-central/platform/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".so" -DFFI_BUILDING -DMOZ_HAS_MOZGLUE -I/home/mattatobin/development/binoc-central/platform/js/src/regexp -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/regexp -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src -I/home/mattatobin/development/binoc-central/platform/js/src -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/js-confdefs.h -MD -MP -MF .deps/regexp-ast.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wc++1z-compat -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=multistatement-macros -Wno-noexcept-type -flifetime-dse=1 -fno-rtti -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse -pthread -pipe -g -O2 -msse2 -mfpmath=sse -w -fomit-frame-pointer -Wno-shadow -Werror=format -fno-strict-aliasing /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc
 0:24.65 gmake[5]: *** [/home/mattatobin/development/binoc-central/platform/config/rules.mk:885: regexp-ast.o] Error 1
 0:24.65 gmake[4]: *** [/home/mattatobin/development/binoc-central/platform/config/recurse.mk:71: js/src/regexp/target] Error 2
These logs are in non-unified building mode. Windows: ``` 0:34.69 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2143: syntax error: missing ';' before '->' 0:34.69 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(685): note: see reference to class template instantiation 'v8::internal::Handle<T>' being compiled 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<T>::ObjectRef': 'inline' not permitted on data declarations 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): error C2664: 'const JS::Latin1Char *JSLinearString::latin1Chars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &' 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC' 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 0:34.70 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const uint8_t>' 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): note: No constructor could take the source type, or constructor overload resolution was ambiguous 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): error C2664: 'const char16_t *JSLinearString::twoByteChars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &' 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC' 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const v8::uc16>' 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): note: No constructor could take the source type, or constructor overload resolution was ambiguous 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2039: 'as': is not a member of 'js::gc::Cell' 0:34.71 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell' 0:34.71 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2059: syntax error: ')' 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/UniquePtr.h(316): error C2182: '*': illegal use of type 'void' 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(106): note: see reference to class template instantiation 'mozilla::UniquePtr<void,JS::FreePolicy>' being compiled 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(108): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>::Storage' being compiled 0:34.72 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(117): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>' being compiled 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1045): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>' being compiled 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1031): error C2660: 'JSRuntime::handleInterrupt': function does not take 0 arguments 0:34.72 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1079): error C3861: 'CheckRecursionLimitDontReport': identifierregexp-bytecode-peephole.cc 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2143: syntax error: missing ';' before '->' 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(685): note: see reference to class template instantiation 'v8::internal::Handle<T>' being compiled 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<T>::ObjectRef': 'inline' not permitted on data declarations 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): error C2664: 'const JS::Latin1Char *JSLinearString::latin1Chars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &' 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC' 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(790): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 0:34.73 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const uint8_t>' 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(791): note: No constructor could take the source type, or constructor overload resolution was ambiguous 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): error C2664: 'const char16_t *JSLinearString::twoByteChars(const JS::AutoCheckCannotGC &) const': cannot convert argument 1 from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC &' 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: Reason: cannot convert from 'const JS::AutoAssertNoGC' to 'const JS::AutoCheckCannotGC' 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(795): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): error C2440: '<function-style-cast>': cannot convert from 'std::size_t' to 'v8::internal::Vector<const v8::uc16>' 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(796): note: No constructor could take the source type, or constructor overload resolution was ambiguous 0:34.74 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2039: 'as': is not a member of 'js::gc::Cell' 0:34.74 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell' 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(955): error C2059: syntax error: ')' 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/UniquePtr.h(316): error C2182: '*': illegal use of type 'void' 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(106): note: see reference to class template instantiation 'mozilla::UniquePtr<void,JS::FreePolicy>' being compiled 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(108): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>::Storage' being compiled 0:34.75 b:\.obj\trunk-v8re-shim-work\navigator-win64\dist\include\mozilla/SegmentedVector.h(117): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>::SegmentImpl<1>' being compiled 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1045): note: see reference to class template instantiation 'mozilla::SegmentedVector<mozilla::UniquePtr<void,JS::FreePolicy>,4096,mozilla::MallocAllocPolicy>' being compiled 0:34.75 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1031): error C2660: 'JSRuntime::handleInterrupt': function does not take 0 arguments 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1079): error C3861: 'CheckRecursionLimitDontReport': identifier not found 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1082): error C2039: 'hasAnyPendingInterrupt': is not a member of 'JSContext' 0:34.79 b:\binoc-central\platform\js\src\jscntxt.h(323): note: see declaration of 'JSContext' 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1086): error C3861: 'CheckRecursionLimitConservativeDontReport': identifier not found 0:34.79 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1105): error C2039: 'as': is not a member of 'js::gc::Cell' 0:34.79 b:\binoc-central\platform\js\src\gc/Nursery.h(62): note: see declaration of 'js::gc::Cell' 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1105): error C2059: syntax error: ')' 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::FixedArray>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS' 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp.h(41): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::FixedArray>' being compiled 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::FixedArray>::ObjectRef': 'inline' not permitted on data declarations 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::String>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS' 0:34.80 b:\binoc-central\platform\js\src\regexp/regexp.h(45): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::String>' being compiled 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::String>::ObjectRef': 'inline' not permitted on data declarations 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::JSRegExp>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS' 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp.h(154): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::JSRegExp>' being compiled 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::JSRegExp>::ObjectRef': 'inline' not permitted on data declarations 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-bytecode-generator.h(14): error C4275: non dll-interface class 'v8::internal::RegExpMacroAssembler' used as base for dll-interface class 'v8::internal::RegExpBytecodeGenerator' 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-macro-assembler.h(28): note: see declaration of 'v8::internal::RegExpMacroAssembler' 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-bytecode-generator.h(14): note: see declaration of 'v8::internal::RegExpBytecodeGenerator' 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::ByteArray>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS' 0:34.81 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(307): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::ByteArray>' being compiled 0:34.81 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::ByteArray>::ObjectRef': 'inline' not permitted on data declarations 0:34.82 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(313): error C2839: invalid return type 'int' for overloaded 'operator ->' 0:34.82 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(313): error C2039: 'get': is not a member of 'v8::internal::Handle<v8::internal::ByteArray>' 0:34.82 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1019): note: see declaration of 'v8::internal::Handle<v8::internal::ByteArray>' 0:34.82 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(673): error C2079: 'v8::internal::Handle<v8::internal::HeapObject>::ObjectRef' uses undefined class 'v8::internal::MOZ_TEMPORARY_CLASS' 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(367): note: see reference to class template instantiation 'v8::internal::Handle<v8::internal::HeapObject>' being compiled 0:34.86 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(674): error C2433: 'v8::internal::Handle<v8::internal::HeapObject>::ObjectRef': 'inline' not permitted on data declarations 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(377): error C2839: invalid return type 'int' for overloaded 'operator ->' 0:34.86 b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc(377): error C2039: 'GetDataStartAddress': is not a member of 'v8::internal::Handle<v8::internal::ByteArray>' 0:34.86 b:\binoc-central\platform\js\src\regexp/regexp-shim.h(1019): note: see declaration of 'v8::internal::Handle<v8::internal::ByteArray>' 0:34.86 0:34.88 In the directory /b/.obj/trunk-v8re-shim-work/navigator-win64/js/src/regexp 0:34.88 The following command failed to execute properly: 0:34.88 b:/.obj/trunk-v8re-shim-work/navigator-win64/_virtualenv/Scripts/python.exe -m mozbuild.action.cl cl.EXE -Foregexp-bytecode-generator.obj -c -DNDEBUG=1 -DTRIMMED=1 -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="" -DDLL_SUFFIX=".dll" -DFFI_BUILDING -D_CRT_RAND_S -DNOMINMAX -DMOZ_HAS_MOZGLUE -Ib:/binoc-central/platform/js/src/regexp -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/js/src/regexp -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/js/src -Ib:/binoc-central/platform/js/src -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/dist/include -Ib:/.obj/trunk-v8re-shim-work/navigator-win64/dist/include/nspr -MD -FI b:/.obj/trunk-v8re-shim-work/navigator-win64/js/src/js-confdefs.h -DMOZILLA_CLIENT -TP -nologo -utf-8 -wd4345 -wd4351 -wd4800 -wd4595 -D_CRT_SECURE_NO_WARNINGS -wd5026 -wd5027 -Zc:sizedDealloc- -D_HAS_EXCEPTIONS=0 -W3 -Gy -Zc:inline -FS -Gw -wd4244 -wd4267 -wd4251 -we4553 -GR- -Zi -O2 -GS- -favor:AMD64 -Oy -fp:precise -wd4805 -wd4661 -we4067 -we4258 -we4275 -wd4146 -wd4577 -wd4312 -Fdgenerated.pdb b:/binoc-central/platform/js/src/regexp/regexp-bytecode-generator.cc 0:34.89 b:/binoc-central/platform/config/rules.mk:884: recipe for target 'regexp-bytecode-generator.obj' failed 0:34.89 mozmake.EXE[5]: *** [regexp-bytecode-generator.obj] Error 1 0:34.89 mozmake.EXE[5]: *** Waiting for unfinished jobs.... ``` Linux: ``` 0:24.05 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:27, 0:24.05 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.05 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.05 /home/mattatobin/development/binoc-central/platform/js/src/regexp/util/vector.h: In constructor ‘v8::internal::Vector<T>::Vector(T*, size_t)’: 0:24.05 /home/mattatobin/development/binoc-central/platform/js/src/regexp/util/vector.h:52:3: error: ‘constexpr’ constructor does not have empty body 0:24.05 } 0:24.05 ^ 0:24.17 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: At global scope: 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:673:3: error: field ‘ObjectRef’ has incomplete type ‘v8::internal::MOZ_TEMPORARY_CLASS’ 0:24.17 }; 0:24.17 ^ 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:664:9: note: forward declaration of ‘class v8::internal::MOZ_TEMPORARY_CLASS’ 0:24.17 class MOZ_TEMPORARY_CLASS ObjectRef { 0:24.17 ^~~~~~~~~~~~~~~~~~~ 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:674:10: error: ‘ObjectRef’ does not name a type; did you mean ‘Object’? 0:24.17 inline ObjectRef operator->() const { return ObjectRef{**this}; } 0:24.17 ^~~~~~~~~ 0:24.17 Object 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Vector<const unsigned char> v8::internal::String::FlatContent::ToOneByteVector() const’: 0:24.17 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:790:63: error: no matching function for call to ‘JSLinearString::latin1Chars(const JS::AutoAssertNoGC&) const’ 0:24.17 return Vector<const uint8_t>(string_->latin1Chars(no_gc_), 0:24.17 ^ 0:24.17 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jit/IonTypes.h:18, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/vm/TypeInference.h:21, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/vm/ObjectGroup.h:17, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/vm/Shape.h:30, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/jsobj.h:26, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/vm/Caches.h:13, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:17, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24, 0:24.17 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.18 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:648:27: note: candidate: ‘const Latin1Char* JSLinearString::latin1Chars(const JS::AutoCheckCannotGC&) const’ 0:24.18 const JS::Latin1Char* latin1Chars(const JS::AutoCheckCannotGC& nogc) const { 0:24.18 ^~~~~~~~~~~ 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:648:27: note: no known conversion for argument 1 from ‘const JS::AutoAssertNoGC’ to ‘const JS::AutoCheckCannotGC&’ 0:24.18 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.18 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Vector<const char16_t> v8::internal::String::FlatContent::ToUC16Vector() const’: 0:24.18 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:795:61: error: no matching function for call to ‘JSLinearString::twoByteChars(const JS::AutoAssertNoGC&) const’ 0:24.18 return Vector<const uc16>(string_->twoByteChars(no_gc_), 0:24.18 ^ 0:24.19 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jit/IonTypes.h:18, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/vm/TypeInference.h:21, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/vm/ObjectGroup.h:17, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/vm/Shape.h:30, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/jsobj.h:26, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/vm/Caches.h:13, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:17, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.19 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.19 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:653:21: note: candidate: ‘const char16_t* JSLinearString::twoByteChars(const JS::AutoCheckCannotGC&) const’ 0:24.19 const char16_t* twoByteChars(const JS::AutoCheckCannotGC& nogc) const { 0:24.19 ^~~~~~~~~~~~ 0:24.19 /home/mattatobin/development/binoc-central/platform/js/src/vm/String.h:653:21: note: no known conversion for argument 1 from ‘const JS::AutoAssertNoGC’ to ‘const JS::AutoCheckCannotGC&’ 0:24.20 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.20 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘js::RegExpShared* v8::internal::JSRegExp::inner()’: 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:32: error: ‘struct js::gc::Cell’ has no member named ‘as’ 0:24.20 return value_.toGCThing()->as<js::RegExpShared>(); 0:24.20 ^~ 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:51: error: expected primary-expression before ‘>’ token 0:24.20 return value_.toGCThing()->as<js::RegExpShared>(); 0:24.20 ^ 0:24.20 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:955:53: error: expected primary-expression before ‘)’ token 0:24.20 return value_.toGCThing()->as<js::RegExpShared>(); 0:24.20 ^ 0:24.21 In file included from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/Span.h:29, 0:24.21 from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/Range.h:11, 0:24.21 from /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/js/CharacterEncoding.h:9, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:13, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.21 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/UniquePtr.h: In instantiation of ‘class mozilla::UniquePtr<void, JS::FreePolicy>’: 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:106:17: required from ‘union mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::SegmentImpl<1>::Storage’ 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:108:7: required from ‘struct mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::SegmentImpl<1>’ 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:117:51: required from ‘const size_t mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::kSingleElementSegmentSize’ 0:24.21 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:119:31: required from ‘const size_t mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >::kSegmentCapacity’ 0:24.22 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/SegmentedVector.h:123:41: required from ‘class mozilla::SegmentedVector<mozilla::UniquePtr<void, JS::FreePolicy> >’ 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1045:48: required from here 0:24.22 /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/mozilla/UniquePtr.h:316:6: error: forming reference to void 0:24.22 T& operator*() const { return *get(); } 0:24.22 ^~~~~~~~ 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘v8::internal::Object v8::internal::Isolate::HandleInterrupts()’: 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1031:58: error: no matching function for call to ‘JSContext::handleInterrupt()’ 0:24.22 return Object(JS::BooleanValue(cx()->handleInterrupt())); 0:24.22 ^ 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/jscntxt.h:18, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Ion.h:11, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/jit/Label.h:9, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:24, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/vm/Runtime.h:605:10: note: candidate: ‘bool JSRuntime::handleInterrupt(JSContext*)’ 0:24.22 bool handleInterrupt(JSContext* cx); 0:24.22 ^~~~~~~~~~~~~~~ 0:24.22 /home/mattatobin/development/binoc-central/platform/js/src/vm/Runtime.h:605:10: note: candidate expects 1 argument, 0 provided 0:24.22 In file included from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.h:8, 0:24.22 from /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc:5: 0:24.23 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::HasOverflowed()’: 0:24.23 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1079:34: error: ‘CheckRecursionLimitDontReport’ was not declared in this scope 0:24.23 bool HasOverflowed() { return !CheckRecursionLimitDontReport(cx_); } 0:24.23 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::InterruptRequested()’: 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1082:43: error: ‘struct JSContext’ has no member named ‘hasAnyPendingInterrupt’; did you mean ‘hasPendingInterrupt’? 0:24.24 bool InterruptRequested() { return cx_->hasAnyPendingInterrupt(); } 0:24.24 ^~~~~~~~~~~~~~~~~~~~~~ 0:24.24 hasPendingInterrupt 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘bool v8::internal::StackLimitCheck::JsHasOverflowed()’: 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1086:13: error: ‘CheckRecursionLimitConservativeDontReport’ was not declared in this scope 0:24.24 return !CheckRecursionLimitConservativeDontReport(cx_); 0:24.24 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h: In member function ‘js::jit::JitCode* v8::internal::Code::inner()’: 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:32: error: ‘struct js::gc::Cell’ has no member named ‘as’ 0:24.24 return value_.toGCThing()->as<js::jit::JitCode>(); 0:24.24 ^~ 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:51: error: expected primary-expression before ‘>’ token 0:24.24 return value_.toGCThing()->as<js::jit::JitCode>(); 0:24.24 ^ 0:24.24 /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-shim.h:1105:53: error: expected primary-expression before ‘)’ token 0:24.24 return value_.toGCThing()->as<js::jit::JitCode>(); 0:24.24 ^ 0:24.65 0:24.65 In the directory /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/regexp 0:24.65 The following command failed to execute properly: 0:24.65 /opt/rh/devtoolset-8/root/usr/bin/g++ -std=gnu++11 -o regexp-ast.o -c -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/system_wrappers -include /home/mattatobin/development/binoc-central/platform/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".so" -DFFI_BUILDING -DMOZ_HAS_MOZGLUE -I/home/mattatobin/development/binoc-central/platform/js/src/regexp -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/regexp -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src -I/home/mattatobin/development/binoc-central/platform/js/src -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include -I/home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /home/mattatobin/development/.obj/trunk-v8re-shim-work/navigator-x86_64-pc-linux-gnu-gtk2/js/src/js-confdefs.h -MD -MP -MF .deps/regexp-ast.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wc++1z-compat -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=multistatement-macros -Wno-noexcept-type -flifetime-dse=1 -fno-rtti -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse -pthread -pipe -g -O2 -msse2 -mfpmath=sse -w -fomit-frame-pointer -Wno-shadow -Werror=format -fno-strict-aliasing /home/mattatobin/development/binoc-central/platform/js/src/regexp/regexp-ast.cc 0:24.65 gmake[5]: *** [/home/mattatobin/development/binoc-central/platform/config/rules.mk:885: regexp-ast.o] Error 1 0:24.65 gmake[4]: *** [/home/mattatobin/development/binoc-central/platform/config/recurse.mk:71: js/src/regexp/target] Error 2 ```
g4jc commented 6 months ago

@mattatobin: Your branch actually builds, and runs, for me. However the code appears to require C++14. Which version of GCC are you running? (Using GCC 9.3 here)

https://stackoverflow.com/questions/23647492/could-non-static-member-variable-be-modified-in-constexpr-constructor-c14

@mattatobin: Your branch actually builds, and runs, for me. However the code appears to require C++14. Which version of GCC are you running? (Using GCC 9.3 here) https://stackoverflow.com/questions/23647492/could-non-static-member-variable-be-modified-in-constexpr-constructor-c14
mattatobin commented 6 months ago
Poster

I was using GCC 8.3 but of course we want the at least GCC 7 but it would be nice to have 4.9 through latest. Also we deff need VS2015 and whatever general version of clang for the macintosh.

So do you think whatever is offending can be modified to conform with our cpp standard?

I was using GCC 8.3 but of course we want the at least GCC 7 but it would be nice to have 4.9 through latest. Also we deff need VS2015 and whatever general version of clang for the macintosh. So do you think whatever is offending can be modified to conform with our cpp standard?
Moonchild commented 6 months ago
Owner

How about NOT using constexpr ?

How about NOT using constexpr ?
mattatobin commented 6 months ago
Poster

GCC 9 failed.. I can’t paste the build log I can’t attach text files, I can’t attach 7z files, I can’t attach zip files. It failed. That is all you need to know...

GCC 9 failed.. I can't paste the build log I can't attach text files, I can't attach 7z files, I can't attach zip files. It failed. That is all you need to know...
mattatobin commented 6 months ago
Poster

Build log, unified sources mode.

Build log, unified sources mode.
Moonchild commented 6 months ago
Owner

I can’t paste the build log I can’t attach text files, I can’t attach 7z files, I can’t attach zip files. It failed.

FTR attachment file types have now been explicitly set to allow all. build log pasting failed because comments can’t be more than 65k characters. raw pasting of logs is unwieldy anyway because scrollbars etc.

> I can’t paste the build log I can’t attach text files, I can’t attach 7z files, I can’t attach zip files. It failed. FTR attachment file types have now been explicitly set to allow all. build log pasting failed because comments can't be more than 65k characters. raw pasting of logs is unwieldy anyway because scrollbars etc.
Moonchild commented 6 months ago
Owner

Working through these build failures slowly. In general small changes but requiring a lot of research. e.g.

regexp/regexp-shim.h(674): error C2143: syntax error

took me a while to understand how ->() operator overloading worked and why it was failing. Etc.
Porting dependent BZ bugs as-needed in the branch.

Working through these build failures slowly. In general small changes but requiring a lot of research. e.g. > regexp/regexp-shim.h(674): error C2143: syntax error took me a while to understand how `->()` operator overloading worked and why it was failing. Etc. Porting dependent BZ bugs as-needed in the branch.
mattatobin commented 6 months ago
Poster

Following Mozilla progression for the first five bugs isn’t going to work out as far as implimentation goes. I am scrapping this issue because they did a SECOND import which renders this current progression moot.

I am going to do bugs 2 through 5 as part of the import issue THEN we will fix it up in a “Make it build” issue followed by hooking it up and doing piecemeal porting.

Following Mozilla progression for the first five bugs isn't going to work out as far as implimentation goes. I am scrapping this issue because they did a SECOND import which renders this current progression moot. I am going to do bugs 2 through 5 as part of the import issue THEN we will fix it up in a "Make it build" issue followed by hooking it up and doing piecemeal porting.
mattatobin closed this issue 6 months ago
mattatobin added the
Won't Fix
label 6 months ago
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.