Version: 7.6.303.22
OS: Windows
Architecture: x86
What steps will reproduce the problem?
1.type this script in v8_shell.exe and d8.exe:
String.prototype.split.call('aaaaaaaaaa', new RegExp(Array(4096).join(String.fromCharCode(36, 94)) + Array(1025).join(String.fromCharCode(126, 29)) + Array(257).join(String.fromCharCode(101, 10, 43)), 'i'))
What is the expected output?
When I use Chrome 76.0.3809.80 (v8 version 7.6.303.24), this script output is as follows:
["aaaaaaaaaa"]
What do you see instead?
Then I run these codes to tracking in vs2017:
v8::Local<v8::String> source = v8::String::NewFromUtf8(isolate, "String.prototype.split.call('aaaaaaaaaa', new RegExp(Array(4096).join(String.fromCharCode(36, 94)) + Array(1025).join(String.fromCharCode(126, 29)) + Array(257).join(String.fromCharCode(101, 10, 43)), 'i'))",v8::NewStringType::kNormal).ToLocalChecked();
v8::Local<v8::Script> script =v8::Script::Compile(context, source).ToLocalChecked();
v8::Local<v8::Value> result = script->Run(context).ToLocalChecked();
v8::String::Utf8Value utf8(isolate, result);
printf("%s\n", *utf8);
then I got a stark overflow error.I want to know if this represents a problem in my compilation process.