mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
Merge remote-tracking branch 'origin/master' into custom
This commit is contained in:
commit
90e43f0c90
55 changed files with 479 additions and 442 deletions
|
|
@ -2121,6 +2121,15 @@ class MacroAssembler : public MacroAssemblerSpecific
|
|||
inline void assertStackAlignment(uint32_t alignment, int32_t offset = 0);
|
||||
};
|
||||
|
||||
// StackMacroAssembler checks no GC will happen while it's on the stack.
|
||||
class MOZ_RAII StackMacroAssembler : public MacroAssembler {
|
||||
JS::AutoCheckCannotGC nogc;
|
||||
|
||||
public:
|
||||
StackMacroAssembler() : MacroAssembler() {}
|
||||
explicit StackMacroAssembler(JSContext* cx) : MacroAssembler(cx) {}
|
||||
};
|
||||
|
||||
static inline Assembler::DoubleCondition
|
||||
JSOpToDoubleCondition(JSOp op)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ if CONFIG['JS_BUNDLED_EDITLINE']:
|
|||
DIRS += ['editline']
|
||||
|
||||
if CONFIG['JS_NEW_REGEXP']:
|
||||
DIRS += ['regexp']
|
||||
DIRS += ['new-regexp']
|
||||
|
||||
if not CONFIG['JS_DISABLE_SHELL']:
|
||||
DIRS += ['shell']
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
#include "regexp/special-case.h"
|
||||
#include "new-regexp/special-case.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -34,4 +34,9 @@ if CONFIG['ENABLE_INTL_API']:
|
|||
SOURCES += [
|
||||
'property-sequences.cc',
|
||||
'special-case.cc'
|
||||
]
|
||||
]
|
||||
|
||||
if CONFIG['_MSC_VER']:
|
||||
# This is intended as a temporary workaround to unblock compilation
|
||||
# on VS2015 in warnings as errors mode.
|
||||
CXXFLAGS += ['-wd4275']
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
||||
#include "regexp/property-sequences.h"
|
||||
#include "new-regexp/property-sequences.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-ast.h"
|
||||
#include "new-regexp/regexp-ast.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_AST_H_
|
||||
#define V8_REGEXP_REGEXP_AST_H_
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,9 +5,9 @@
|
|||
#ifndef V8_REGEXP_REGEXP_BYTECODE_GENERATOR_INL_H_
|
||||
#define V8_REGEXP_REGEXP_BYTECODE_GENERATOR_INL_H_
|
||||
|
||||
#include "regexp/regexp-bytecode-generator.h"
|
||||
#include "new-regexp/regexp-bytecode-generator.h"
|
||||
|
||||
#include "regexp/regexp-bytecodes.h"
|
||||
#include "new-regexp/regexp-bytecodes.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-bytecode-generator.h"
|
||||
#include "new-regexp/regexp-bytecode-generator.h"
|
||||
|
||||
#include "regexp/regexp-bytecode-generator-inl.h"
|
||||
#include "regexp/regexp-bytecode-peephole.h"
|
||||
#include "regexp/regexp-bytecodes.h"
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-bytecode-generator-inl.h"
|
||||
#include "new-regexp/regexp-bytecode-peephole.h"
|
||||
#include "new-regexp/regexp-bytecodes.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_BYTECODE_GENERATOR_H_
|
||||
#define V8_REGEXP_REGEXP_BYTECODE_GENERATOR_H_
|
||||
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,9 +2,9 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-bytecode-peephole.h"
|
||||
#include "new-regexp/regexp-bytecode-peephole.h"
|
||||
|
||||
#include "regexp/regexp-bytecodes.h"
|
||||
#include "new-regexp/regexp-bytecodes.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_BYTECODE_PEEPHOLE_H_
|
||||
#define V8_REGEXP_REGEXP_BYTECODE_PEEPHOLE_H_
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-bytecodes.h"
|
||||
#include "new-regexp/regexp-bytecodes.h"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_BYTECODES_H_
|
||||
#define V8_REGEXP_REGEXP_BYTECODES_H_
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-compiler.h"
|
||||
#include "new-regexp/regexp-compiler.h"
|
||||
|
||||
#include "regexp/regexp.h"
|
||||
#include "new-regexp/regexp.h"
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "regexp/special-case.h"
|
||||
#include "new-regexp/special-case.h"
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-compiler.h"
|
||||
#include "new-regexp/regexp-compiler.h"
|
||||
|
||||
#include "regexp/regexp-macro-assembler-arch.h"
|
||||
#include "new-regexp/regexp-macro-assembler-arch.h"
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "regexp/special-case.h"
|
||||
#include "new-regexp/special-case.h"
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include <bitset>
|
||||
|
||||
#include "regexp/regexp-nodes.h"
|
||||
#include "new-regexp/regexp-nodes.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,9 +2,9 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-dotprinter.h"
|
||||
#include "new-regexp/regexp-dotprinter.h"
|
||||
|
||||
#include "regexp/regexp-compiler.h"
|
||||
#include "new-regexp/regexp-compiler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_DOTPRINTER_H_
|
||||
#define V8_REGEXP_REGEXP_DOTPRINTER_H_
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-error.h"
|
||||
#include "new-regexp/regexp-error.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -4,12 +4,12 @@
|
|||
|
||||
// A simple interpreter for the Irregexp byte code.
|
||||
|
||||
#include "regexp/regexp-interpreter.h"
|
||||
#include "new-regexp/regexp-interpreter.h"
|
||||
|
||||
#include "regexp/regexp-bytecodes.h"
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "regexp/regexp-stack.h" // For kMaximumStackSize.
|
||||
#include "regexp/regexp.h"
|
||||
#include "new-regexp/regexp-bytecodes.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-stack.h" // For kMaximumStackSize.
|
||||
#include "new-regexp/regexp.h"
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "unicode/uchar.h"
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
#define V8_USE_COMPUTED_GOTO 1
|
||||
#endif // V8_HAS_COMPUTED_GOTO
|
||||
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_INTERPRETER_H_
|
||||
#define V8_REGEXP_REGEXP_INTERPRETER_H_
|
||||
|
||||
#include "regexp/regexp.h"
|
||||
#include "new-regexp/regexp.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
#define RegexpMacroAssemblerArch_h
|
||||
|
||||
#include "jit/MacroAssembler.h"
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -186,7 +186,7 @@ class SMRegExpMacroAssembler final : public NativeRegExpMacroAssembler {
|
|||
if (num_registers_ <= register_index) {
|
||||
num_registers_ = register_index + 1;
|
||||
}
|
||||
static_assert(alignof(uintptr_t) <= alignof(FrameData));
|
||||
static_assert(alignof(uintptr_t) <= alignof(FrameData),"Regexp: Alignment of uintptr_t and FrameData mismatch");
|
||||
return sizeof(FrameData) + register_index * sizeof(uintptr_t*);
|
||||
}
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-macro-assembler-tracer.h"
|
||||
#include "new-regexp/regexp-macro-assembler-tracer.h"
|
||||
|
||||
|
||||
namespace v8 {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_MACRO_ASSEMBLER_TRACER_H_
|
||||
#define V8_REGEXP_REGEXP_MACRO_ASSEMBLER_TRACER_H_
|
||||
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,9 +2,9 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
#include "regexp/regexp-stack.h"
|
||||
#include "new-regexp/regexp-stack.h"
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "unicode/uchar.h"
|
||||
|
|
@ -5,9 +5,9 @@
|
|||
#ifndef V8_REGEXP_REGEXP_MACRO_ASSEMBLER_H_
|
||||
#define V8_REGEXP_REGEXP_MACRO_ASSEMBLER_H_
|
||||
|
||||
#include "regexp/regexp-ast.h"
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "regexp/regexp.h"
|
||||
#include "new-regexp/regexp-ast.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -9,12 +9,17 @@
|
|||
// found in the LICENSE file.
|
||||
|
||||
#include "jit/Linker.h"
|
||||
#include "regexp/regexp-macro-assembler-arch.h"
|
||||
#include "regexp/regexp-stack.h"
|
||||
#include "gc/Zone.h"
|
||||
#include "new-regexp/regexp-macro-assembler-arch.h"
|
||||
#include "new-regexp/regexp-stack.h"
|
||||
#include "vm/MatchPairs.h"
|
||||
|
||||
#include "jit/MacroAssembler-inl.h"
|
||||
|
||||
using namespace js;
|
||||
using namespace js::irregexp;
|
||||
using namespace js::jit;
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
|
|
@ -84,19 +89,9 @@ void SMRegExpMacroAssembler::AdvanceRegister(int reg, int by) {
|
|||
}
|
||||
|
||||
void SMRegExpMacroAssembler::Backtrack() {
|
||||
// Check for an interrupt. We have to restart from the beginning if we
|
||||
// are interrupted, so we only check for urgent interrupts.
|
||||
js::jit::Label noInterrupt;
|
||||
masm_.branchTest32(
|
||||
Assembler::Zero, AbsoluteAddress(cx_->addressOfInterruptBits()),
|
||||
Imm32(uint32_t(js::InterruptReason::CallbackUrgent)), &noInterrupt);
|
||||
masm_.movePtr(ImmWord(js::RegExpRunStatus_Error), temp0_);
|
||||
masm_.jump(&exit_label_);
|
||||
masm_.bind(&noInterrupt);
|
||||
|
||||
// Pop code location from backtrack stack and jump to location.
|
||||
Pop(temp0_);
|
||||
masm_.jump(temp0_);
|
||||
// Pop code location from backtrack stack and jump to location.
|
||||
Pop(temp0_);
|
||||
masm_.jump(temp0_);
|
||||
}
|
||||
|
||||
void SMRegExpMacroAssembler::Bind(Label* label) {
|
||||
|
|
@ -546,7 +541,8 @@ bool SMRegExpMacroAssembler::CheckSpecialCharacterClass(uc16 type,
|
|||
masm_.branch32(Assembler::Above, current_character_, Imm32('z'),
|
||||
no_match);
|
||||
}
|
||||
static_assert(arraysize(word_character_map) > unibrow::Latin1::kMaxChar);
|
||||
static_assert(arraysize(word_character_map) > unibrow::Latin1::kMaxChar,
|
||||
"regex: arraysize(word_character_map) > unibrow::Latin1::kMaxChar");
|
||||
masm_.movePtr(ImmPtr(word_character_map), temp0_);
|
||||
masm_.load8ZeroExtend(
|
||||
BaseIndex(temp0_, current_character_, js::jit::TimesOne), temp0_);
|
||||
|
|
@ -558,7 +554,8 @@ bool SMRegExpMacroAssembler::CheckSpecialCharacterClass(uc16 type,
|
|||
if (mode_ != LATIN1) {
|
||||
masm_.branch32(Assembler::Above, current_character_, Imm32('z'), &done);
|
||||
}
|
||||
static_assert(arraysize(word_character_map) > unibrow::Latin1::kMaxChar);
|
||||
static_assert(arraysize(word_character_map) > unibrow::Latin1::kMaxChar,
|
||||
"regex: arraysize(word_character_map) > unibrow::Latin1::kMaxChar");
|
||||
masm_.movePtr(ImmPtr(word_character_map), temp0_);
|
||||
masm_.load8ZeroExtend(
|
||||
BaseIndex(temp0_, current_character_, js::jit::TimesOne), temp0_);
|
||||
|
|
@ -824,7 +821,7 @@ static Handle<HeapObject> DummyCode() {
|
|||
// Finalize code. This is called last, so that we know how many
|
||||
// registers we need.
|
||||
Handle<HeapObject> SMRegExpMacroAssembler::GetCode(Handle<String> source) {
|
||||
if (!cx_->realm()->ensureJitRealmExists(cx_)) {
|
||||
if (!cx_->compartment()->ensureJitCompartmentExists(cx_)) {
|
||||
return DummyCode();
|
||||
}
|
||||
|
||||
|
|
@ -841,8 +838,9 @@ Handle<HeapObject> SMRegExpMacroAssembler::GetCode(Handle<String> source) {
|
|||
stackOverflowHandler();
|
||||
|
||||
Linker linker(masm_);
|
||||
JitCode* code = linker.newCode(cx_, js::jit::CodeKind::RegExp);
|
||||
JitCode* code = linker.newCode<NoGC>(cx_, REGEXP_CODE);
|
||||
if (!code) {
|
||||
ReportOutOfMemory(cx_);
|
||||
return DummyCode();
|
||||
}
|
||||
|
||||
|
|
@ -1161,7 +1159,7 @@ SMRegExpMacroAssembler::Implementation() {
|
|||
/*static */
|
||||
uint32_t SMRegExpMacroAssembler::CaseInsensitiveCompareStrings(
|
||||
const char16_t* substring1, const char16_t* substring2, size_t byteLength) {
|
||||
js::AutoUnsafeCallWithABI unsafe;
|
||||
JS::AutoCheckCannotGC nogc;
|
||||
|
||||
MOZ_ASSERT(byteLength % sizeof(char16_t) == 0);
|
||||
size_t length = byteLength / sizeof(char16_t);
|
||||
|
|
@ -1184,7 +1182,7 @@ uint32_t SMRegExpMacroAssembler::CaseInsensitiveCompareStrings(
|
|||
/*static */
|
||||
uint32_t SMRegExpMacroAssembler::CaseInsensitiveCompareUCStrings(
|
||||
const char16_t* substring1, const char16_t* substring2, size_t byteLength) {
|
||||
js::AutoUnsafeCallWithABI unsafe;
|
||||
JS::AutoCheckCannotGC nogc;
|
||||
|
||||
MOZ_ASSERT(byteLength % sizeof(char16_t) == 0);
|
||||
size_t length = byteLength / sizeof(char16_t);
|
||||
|
|
@ -1206,7 +1204,7 @@ uint32_t SMRegExpMacroAssembler::CaseInsensitiveCompareUCStrings(
|
|||
|
||||
/* static */
|
||||
bool SMRegExpMacroAssembler::GrowBacktrackStack(RegExpStack* regexp_stack) {
|
||||
js::AutoUnsafeCallWithABI unsafe;
|
||||
JS::AutoCheckCannotGC nogc;
|
||||
size_t size = regexp_stack->stack_capacity();
|
||||
return !!regexp_stack->EnsureCapacity(size * 2);
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_NODES_H_
|
||||
#define V8_REGEXP_REGEXP_NODES_H_
|
||||
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -2,13 +2,13 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-parser.h"
|
||||
#include "new-regexp/regexp-parser.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "regexp/property-sequences.h"
|
||||
#include "regexp/regexp-macro-assembler.h"
|
||||
#include "regexp/regexp.h"
|
||||
#include "new-regexp/property-sequences.h"
|
||||
#include "new-regexp/regexp-macro-assembler.h"
|
||||
#include "new-regexp/regexp.h"
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "unicode/uniset.h"
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
#ifndef V8_REGEXP_REGEXP_PARSER_H_
|
||||
#define V8_REGEXP_REGEXP_PARSER_H_
|
||||
|
||||
#include "regexp/regexp-ast.h"
|
||||
#include "regexp/regexp-error.h"
|
||||
#include "new-regexp/regexp-ast.h"
|
||||
#include "new-regexp/regexp-error.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -327,7 +327,9 @@ class V8_EXPORT_PRIVATE RegExpParser {
|
|||
bool operator()(const RegExpCapture* lhs, const RegExpCapture* rhs) const {
|
||||
DCHECK_NOT_NULL(lhs);
|
||||
DCHECK_NOT_NULL(rhs);
|
||||
return *lhs->name() < *rhs->name();
|
||||
ZoneVector<uc16> lhname = *lhs->name();
|
||||
ZoneVector<uc16> rhname = *rhs->name();
|
||||
return lhname < rhname;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -10,8 +10,10 @@
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "regexp/regexp-stack.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-stack.h"
|
||||
|
||||
#include "mozilla/Sprintf.h" // for SprintfLiteral
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -125,8 +127,6 @@ PseudoHandle<ByteArrayData> ByteArray::takeOwnership(Isolate* isolate) {
|
|||
}
|
||||
|
||||
void Isolate::trace(JSTracer* trc) {
|
||||
js::gc::AssertRootMarkingPhase(trc);
|
||||
|
||||
for (auto iter = handleArena_.Iter(); !iter.Done(); iter.Next()) {
|
||||
auto& elem = iter.Get();
|
||||
JS::GCPolicy<JS::Value>::trace(trc, &elem, "Isolate handle arena");
|
||||
|
|
@ -20,14 +20,15 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <cctype>
|
||||
#include <iostream> // needed for gcc 10
|
||||
|
||||
#include "jit/Label.h"
|
||||
#include "jit/shared/Assembler-shared.h"
|
||||
#include "js/Value.h"
|
||||
#include "regexp/RegExpTypes.h"
|
||||
#include "regexp/util/flags.h"
|
||||
#include "regexp/util/vector.h"
|
||||
#include "regexp/util/zone.h"
|
||||
#include "new-regexp/RegExpTypes.h"
|
||||
#include "new-regexp/util/flags.h"
|
||||
#include "new-regexp/util/vector.h"
|
||||
#include "new-regexp/util/zone.h"
|
||||
#include "vm/NativeObject.h"
|
||||
|
||||
// Forward declaration of classes
|
||||
|
|
@ -1172,7 +1173,6 @@ extern bool FLAG_trace_regexp_bytecodes;
|
|||
extern bool FLAG_trace_regexp_parser;
|
||||
extern bool FLAG_trace_regexp_peephole_optimization;
|
||||
|
||||
#define V8_USE_COMPUTED_GOTO 1
|
||||
#define COMPILING_IRREGEXP_FOR_EXTERNAL_EMBEDDER
|
||||
|
||||
} // namespace internal
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "regexp/regexp-stack.h"
|
||||
#include "new-regexp/regexp-stack.h"
|
||||
|
||||
|
||||
namespace v8 {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
#ifndef V8_REGEXP_REGEXP_STACK_H_
|
||||
#define V8_REGEXP_REGEXP_STACK_H_
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
#ifndef V8_REGEXP_REGEXP_H_
|
||||
#define V8_REGEXP_REGEXP_H_
|
||||
|
||||
#include "regexp/regexp-error.h"
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-error.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
// Semantics: Canonicalize) step 3.
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "regexp/special-case.h"
|
||||
#include "new-regexp/special-case.h"
|
||||
|
||||
#include "unicode/uniset.h"
|
||||
namespace v8 {
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
#define V8_REGEXP_SPECIAL_CASE_H_
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
#include "unicode/uchar.h"
|
||||
#include "unicode/uniset.h"
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
// This file is a subset of:
|
||||
// https://github.com/v8/v8/blob/master/src/strings/unicode.cc
|
||||
|
||||
#include "regexp/regexp-shim.h"
|
||||
#include "new-regexp/regexp-shim.h"
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#include "unicode/uchar.h"
|
||||
|
|
@ -45,9 +45,9 @@ void DeleteArray(T* array) {
|
|||
template <typename T>
|
||||
class Vector {
|
||||
public:
|
||||
constexpr Vector() : start_(nullptr), length_(0) {}
|
||||
Vector() : start_(nullptr), length_(0) {}
|
||||
|
||||
constexpr Vector(T* data, size_t length) : start_(data), length_(length) {
|
||||
Vector(T* data, size_t length) : start_(data), length_(length) {
|
||||
MOZ_ASSERT_IF(length != 0, data != nullptr);
|
||||
}
|
||||
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "ds/LifoAlloc.h"
|
||||
#include "ds/Sort.h"
|
||||
#include "regexp/util/vector.h"
|
||||
#include "new-regexp/util/vector.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
Loading…
Add table
Add a link
Reference in a new issue