| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 05530e8 commit 26cc160
6 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -36,7 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | 37 | # Reset this number to 0 on major V8 upgrades. | |
| 38 | 38 | # Increment by one for each non-official patch applied to deps/v8. | |
| 39 | - 'v8_embedder_string': '-node.44', | ||
| 39 | + 'v8_embedder_string': '-node.45', | ||
| 40 | 40 | ||
| 41 | 41 | ##### V8 defaults for Node.js ##### | |
| 42 | 42 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -14,13 +14,13 @@ namespace v8 { | |||
| 14 | 14 | namespace internal { | |
| 15 | 15 | ||
| 16 | 16 | void RegExpBytecodeGenerator::Emit(uint32_t byte, uint32_t twenty_four_bits) { | |
| 17 | - uint32_t word = ((twenty_four_bits << BYTECODE_SHIFT) | byte); | ||
| 18 | - DCHECK(pc_ <= buffer_.length()); | ||
| 19 | - if (pc_ + 3 >= buffer_.length()) { | ||
| 20 | - Expand(); | ||
| 21 | - } | ||
| 22 | - *reinterpret_cast<uint32_t*>(buffer_.begin() + pc_) = word; | ||
| 23 | - pc_ += 4; | ||
| 17 | + DCHECK(is_uint24(twenty_four_bits)); | ||
| 18 | + Emit32((twenty_four_bits << BYTECODE_SHIFT) | byte); | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + void RegExpBytecodeGenerator::Emit(uint32_t byte, int32_t twenty_four_bits) { | ||
| 22 | + DCHECK(is_int24(twenty_four_bits)); | ||
| 23 | + Emit32((static_cast<uint32_t>(twenty_four_bits) << BYTECODE_SHIFT) | byte); | ||
| 24 | 24 | } | |
| 25 | 25 | ||
| 26 | 26 | void RegExpBytecodeGenerator::Emit16(uint32_t word) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -161,8 +161,10 @@ bool RegExpBytecodeGenerator::Succeed() { | |||
| 161 | 161 | void RegExpBytecodeGenerator::Fail() { Emit(BC_FAIL, 0); } | |
| 162 | 162 | ||
| 163 | 163 | void RegExpBytecodeGenerator::AdvanceCurrentPosition(int by) { | |
| 164 | - DCHECK_LE(kMinCPOffset, by); | ||
| 165 | - DCHECK_GE(kMaxCPOffset, by); | ||
| 164 | + // TODO(chromium:1166138): Turn back into DCHECKs once the underlying issue | ||
| 165 | + // is fixed. | ||
| 166 | + CHECK_LE(kMinCPOffset, by); | ||
| 167 | + CHECK_GE(kMaxCPOffset, by); | ||
| 166 | 168 | advance_current_start_ = pc_; | |
| 167 | 169 | advance_current_offset_ = by; | |
| 168 | 170 | Emit(BC_ADVANCE_CP, by); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -85,6 +85,7 @@ class V8_EXPORT_PRIVATE RegExpBytecodeGenerator : public RegExpMacroAssembler { | |||
| 85 | 85 | inline void Emit16(uint32_t x); | |
| 86 | 86 | inline void Emit8(uint32_t x); | |
| 87 | 87 | inline void Emit(uint32_t bc, uint32_t arg); | |
| 88 | + inline void Emit(uint32_t bc, int32_t arg); | ||
| 88 | 89 | // Bytecode buffer. | |
| 89 | 90 | int length(); | |
| 90 | 91 | void Copy(byte* a); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -73,6 +73,9 @@ | |||
| 73 | 73 | # Enable once multi-byte prefixed opcodes are correctly handled | |
| 74 | 74 | 'regress/wasm/regress-1065599': [SKIP], | |
| 75 | 75 | ||
| 76 | + # https://crbug.com/1166138 | ||
| 77 | + 'regress/regress-1166138': SKIP, | ||
| 78 | + | ||
| 76 | 79 | ############################################################################## | |
| 77 | 80 | # Tests where variants make no sense. | |
| 78 | 81 | 'd8/enable-tracing': [PASS, NO_VARIANTS], | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,7 @@ | |||
| 1 | + // Copyright 2020 the V8 project authors. All rights reserved. | ||
| 2 | + // Use of this source code is governed by a BSD-style license that can be | ||
| 3 | + // found in the LICENSE file. | ||
| 4 | + | ||
| 5 | + let badregexp = "(?:" + " ".repeat(32768*2)+ ")*"; | ||
| 6 | + reg = RegExp(badregexp); | ||
| 7 | + reg.test() | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments