Commit 1fa34d14 authored by Camillo Bruni's avatar Camillo Bruni Committed by V8 LUCI CQ

Avoid using "<<<<" for better merge conflict grep support

Change-Id: Ie5d8ec9030df9f838522b4531205e71394a988da
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263884
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Auto-Submit: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77737}
parent 0599776f
...@@ -183,7 +183,7 @@ void ShiftModFn(digit_t* result, const digit_t* input, int power_of_two, int K, ...@@ -183,7 +183,7 @@ void ShiftModFn(digit_t* result, const digit_t* input, int power_of_two, int K,
// The modulo-reduction amounts to a subtraction, which we combine // The modulo-reduction amounts to a subtraction, which we combine
// with the shift as follows: // with the shift as follows:
// input = [ iK ][iK-1] .... .... [ i1 ][ i0 ] // input = [ iK ][iK-1] .... .... [ i1 ][ i0 ]
// result = [iX-1] .... [ i0 ] <<<<<<<<<<< shift by {power_of_two} // result = [iX-1] .... [ i0 ] <---------- shift by {power_of_two}
// - [ iK ] .... [ iX ] // - [ iK ] .... [ iX ]
// where "X" is the index "K - digit_shift". // where "X" is the index "K - digit_shift".
int digit_shift = power_of_two / kDigitBits; int digit_shift = power_of_two / kDigitBits;
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax
/** /**
* @fileoverview Check that the global escape and unescape functions work * @fileoverview Check that the global escape and unescape functions work
* right. * right.
...@@ -70,9 +72,16 @@ example = example + String.fromCharCode(267, 0x1234, 0x6667, 0xabcd); ...@@ -70,9 +72,16 @@ example = example + String.fromCharCode(267, 0x1234, 0x6667, 0xabcd);
example = example + " The quick brown fox jumps over the lazy dog." example = example + " The quick brown fox jumps over the lazy dog."
example = example + String.fromCharCode(171, 172, 173, 174, 175, 176, 178, 179); example = example + String.fromCharCode(171, 172, 173, 174, 175, 176, 178, 179);
for (var i = 0; i < 3000; i++) {
function testRoundTrip() {
assertEquals(example, unescape(escape(example))); assertEquals(example, unescape(escape(example)));
} }
%PrepareFunctionForOptimization(testRoundTrip);
for (var i = 0; i < 3; i++) {
testRoundTrip();
};
%OptimizeFunctionOnNextCall(testRoundTrip);
testRoundTrip();
// Check unescape can cope with upper and lower case // Check unescape can cope with upper and lower case
assertEquals(unescape("%41%4A%4a"), "AJJ"); assertEquals(unescape("%41%4A%4a"), "AJJ");
...@@ -92,27 +101,32 @@ assertEquals("%uzzzz", unescape("%uzzzz")); ...@@ -92,27 +101,32 @@ assertEquals("%uzzzz", unescape("%uzzzz"));
assertEquals("%u4zzz", unescape("%u4zzz")); assertEquals("%u4zzz", unescape("%u4zzz"));
assertEquals("%u44zz", unescape("%u44zz")); assertEquals("%u44zz", unescape("%u44zz"));
assertEquals("%u444z", unescape("%u444z")); assertEquals("%u444z", unescape("%u444z"));
assertEquals("%4<", unescape("%4<")); assertEquals("%4+", unescape("%4+"));
assertEquals("%u<<<<", unescape("%u<<<<")); assertEquals("%u++++", unescape("%u++++"));
assertEquals("%u4<<<", unescape("%u4<<<")); assertEquals("%u4+++", unescape("%u4+++"));
assertEquals("%u44<<", unescape("%u44<<")); assertEquals("%u44++", unescape("%u44++"));
assertEquals("%u444<", unescape("%u444<")); assertEquals("%u444+", unescape("%u444+"));
assertEquals("foo%4<", unescape("foo%4<")); assertEquals("foo%4+", unescape("foo%4+"));
assertEquals("foo%u<<<<", unescape("foo%u<<<<")); assertEquals("foo%u++++", unescape("foo%u++++"));
assertEquals("foo%u4<<<", unescape("foo%u4<<<")); assertEquals("foo%u4+++", unescape("foo%u4+++"));
assertEquals("foo%u44<<", unescape("foo%u44<<")); assertEquals("foo%u44++", unescape("foo%u44++"));
assertEquals("foo%u444<", unescape("foo%u444<")); assertEquals("foo%u444+", unescape("foo%u444+"));
assertEquals("foo%4<bar", unescape("foo%4<bar")); assertEquals("foo%4+bar", unescape("foo%4+bar"));
assertEquals("foo%u<<<<bar", unescape("foo%u<<<<bar")); assertEquals("foo%u++++bar", unescape("foo%u++++bar"));
assertEquals("foo%u4<<<bar", unescape("foo%u4<<<bar")); assertEquals("foo%u4+++bar", unescape("foo%u4+++bar"));
assertEquals("foo%u44<<bar", unescape("foo%u44<<bar")); assertEquals("foo%u44++bar", unescape("foo%u44++bar"));
assertEquals("foo%u444<bar", unescape("foo%u444<bar")); assertEquals("foo%u444+bar", unescape("foo%u444+bar"));
assertEquals("% ", unescape("%%20")); assertEquals("% ", unescape("%%20"));
assertEquals("%% ", unescape("%%%20")); assertEquals("%% ", unescape("%%%20"));
// Unescape stress // Unescape stress
var eexample = escape(example); var eexample = escape(example);
function stressTestUnescape() {
for (var i = 1; i < 3000; i++) {
assertEquals(example, unescape(eexample)); assertEquals(example, unescape(eexample));
} }
%PrepareFunctionForOptimization(stressTestUnescape);
for (var i = 0; i < 3; i++) {
stressTestUnescape();
}
%OptimizeFunctionOnNextCall(stressTestUnescape);
stressTestUnescape();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment