diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-08-01 08:38:30 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-08-01 12:53:56 +0200 |
commit | 2dcc3665abf57c3607cebffdeeca062f5894885d (patch) | |
tree | 4f560748132edcfb4c22d6f967a7e80d23d7ea2c /deps/v8/src/regexp/x64 | |
parent | 1ee47d550c6de132f06110aa13eceb7551d643b3 (diff) | |
download | node-new-2dcc3665abf57c3607cebffdeeca062f5894885d.tar.gz |
deps: update V8 to 7.6.303.28
PR-URL: https://github.com/nodejs/node/pull/28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Diffstat (limited to 'deps/v8/src/regexp/x64')
-rw-r--r-- | deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc | 27 | ||||
-rw-r--r-- | deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h | 4 |
2 files changed, 10 insertions, 21 deletions
diff --git a/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc b/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc index 856c481b0a..798484d52f 100644 --- a/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc +++ b/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc @@ -6,13 +6,13 @@ #include "src/regexp/x64/regexp-macro-assembler-x64.h" +#include "src/codegen/macro-assembler.h" #include "src/heap/factory.h" -#include "src/log.h" -#include "src/macro-assembler.h" -#include "src/objects-inl.h" +#include "src/logging/log.h" +#include "src/objects/objects-inl.h" #include "src/regexp/regexp-macro-assembler.h" #include "src/regexp/regexp-stack.h" -#include "src/unicode.h" +#include "src/strings/unicode.h" namespace v8 { namespace internal { @@ -746,7 +746,7 @@ Handle<HeapObject> RegExpMacroAssemblerX64::GetCode(Handle<String> source) { __ bind(&stack_ok); // Allocate space on stack for registers. - __ subq(rsp, Immediate(num_registers_ * kSystemPointerSize)); + __ AllocateStackSpace(num_registers_ * kSystemPointerSize); // Load string length. __ movq(rsi, Operand(rbp, kInputEnd)); // Load input position. @@ -766,18 +766,6 @@ Handle<HeapObject> RegExpMacroAssemblerX64::GetCode(Handle<String> source) { // position registers. __ movq(Operand(rbp, kStringStartMinusOne), rax); -#if V8_OS_WIN - // Ensure that we have written to each stack page, in order. Skipping a page - // on Windows can cause segmentation faults. Assuming page size is 4k. - const int kPageSize = 4096; - const int kRegistersPerPage = kPageSize / kSystemPointerSize; - for (int i = num_saved_registers_ + kRegistersPerPage - 1; - i < num_registers_; - i += kRegistersPerPage) { - __ movq(register_location(i), rax); // One write every page. - } -#endif // V8_OS_WIN - // Initialize code object pointer. __ Move(code_object_pointer(), masm_.CodeObject()); @@ -1006,8 +994,9 @@ Handle<HeapObject> RegExpMacroAssemblerX64::GetCode(Handle<String> source) { CodeDesc code_desc; Isolate* isolate = this->isolate(); masm_.GetCode(isolate, &code_desc); - Handle<Code> code = - isolate->factory()->NewCode(code_desc, Code::REGEXP, masm_.CodeObject()); + Handle<Code> code = Factory::CodeBuilder(isolate, code_desc, Code::REGEXP) + .set_self_reference(masm_.CodeObject()) + .Build(); PROFILE(isolate, RegExpCodeCreateEvent(AbstractCode::cast(*code), *source)); return Handle<HeapObject>::cast(code); } diff --git a/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h b/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h index 83193f9319..59b80ef802 100644 --- a/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h +++ b/deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h @@ -5,9 +5,9 @@ #ifndef V8_REGEXP_X64_REGEXP_MACRO_ASSEMBLER_X64_H_ #define V8_REGEXP_X64_REGEXP_MACRO_ASSEMBLER_X64_H_ -#include "src/macro-assembler.h" +#include "src/codegen/macro-assembler.h" +#include "src/codegen/x64/assembler-x64.h" #include "src/regexp/regexp-macro-assembler.h" -#include "src/x64/assembler-x64.h" #include "src/zone/zone-chunk-list.h" namespace v8 { |