GeezerVison is showing github.com — deps: V8: cherry-pick fcf8b990c73c · nodejs/node@ce0f498
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: common.gypi +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 38 | 38 |
| 39 | 39 | # Reset this number to 0 on major V8 upgrades. | 40 | 40 | # Increment by one for each non-official patch applied to deps/v8. | 41 | | - 'v8_embedder_string': '-node.17', | | 41 | + 'v8_embedder_string': '-node.18', | 42 | 42 |
| 43 | 43 | ##### V8 defaults for Node.js ##### | 44 | 44 |
| |
Collapse file Copy file name to clipboardExpand all lines: deps/v8/BUILD.gn +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -1627,7 +1627,7 @@ config("toolchain") { | 1627 | 1627 | if (v8_current_cpu == "ppc64") { | 1628 | 1628 | defines += [ "V8_TARGET_ARCH_PPC64" ] | 1629 | 1629 | cflags += [ "-ffp-contract=off" ] | 1630 | | - if (current_os == "aix") { | | 1630 | + if (current_os == "aix" && !is_clang) { | 1631 | 1631 | cflags += [ | 1632 | 1632 | # Work around AIX ceil, trunc and round oddities. | 1633 | 1633 | "-mcpu=power5+", | |
Collapse file Copy file name to clipboardExpand all lines: deps/v8/src/builtins/ppc/builtins-ppc.cc +13Lines changed: 13 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -4201,6 +4201,19 @@ void Builtins::Generate_CEntry(MacroAssembler* masm, int result_size, | 4201 | 4201 |
| 4202 | 4202 | // If return value is on the stack, pop it to registers. | 4203 | 4203 | if (needs_return_buffer) { | | 4204 | + Label done; | | 4205 | + if (switch_to_central_stack) { | | 4206 | + Label no_stack_change; | | 4207 | + __ CmpU64(kOldSPRegister, Operand(0), r0); | | 4208 | + __ beq(&no_stack_change); | | 4209 | + __ addi(r3, kOldSPRegister, | | 4210 | + Operand((kStackFrameExtraParamSlot + 1) * kSystemPointerSize)); | | 4211 | + __ b(&done); | | 4212 | + __ bind(&no_stack_change); | | 4213 | + } | | 4214 | + __ addi(r3, sp, | | 4215 | + Operand((kStackFrameExtraParamSlot + 1) * kSystemPointerSize)); | | 4216 | + __ bind(&done); | 4204 | 4217 | __ LoadU64(r4, MemOperand(r3, kSystemPointerSize)); | 4205 | 4218 | __ LoadU64(r3, MemOperand(r3)); | 4206 | 4219 | } | |
Collapse file Copy file name to clipboardExpand all lines: deps/v8/src/compiler/turboshaft/operations.h +3-3Lines changed: 3 additions & 3 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -525,7 +525,7 @@ class InputsRepFactory { | 525 | 525 | }; | 526 | 526 | }; | 527 | 527 |
| 528 | | -struct EffectDimensions { | | 528 | +struct __attribute__((packed)) EffectDimensions { | 529 | 529 | // Produced by loads, consumed by operations that should not move before loads | 530 | 530 | // because they change memory. | 531 | 531 | bool load_heap_memory : 1; | @@ -620,7 +620,7 @@ static_assert(sizeof(EffectDimensions) == sizeof(EffectDimensions::Bits)); | 620 | 620 | // they become more restricted in their movement. Note that calls are not the | 621 | 621 | // most side-effectful operations, as they do not leave the heap in an | 622 | 622 | // inconsistent state, so they do not need to be marked as raw heap access. | 623 | | -struct OpEffects { | | 623 | +struct __attribute__((packed)) OpEffects { | 624 | 624 | EffectDimensions produces; | 625 | 625 | EffectDimensions consumes; | 626 | 626 |
| @@ -2904,7 +2904,7 @@ struct ConstantOp : FixedArityOperationT<0, ConstantOp> { | 2904 | 2904 | // When result_rep is RegisterRepresentation::Compressed(), then the load does | 2905 | 2905 | // not decompress the value. | 2906 | 2906 | struct LoadOp : OperationT<LoadOp> { | 2907 | | - struct Kind { | | 2907 | + struct __attribute__((packed)) Kind { | 2908 | 2908 | // The `base` input is a tagged pointer to a HeapObject. | 2909 | 2909 | bool tagged_base : 1; | 2910 | 2910 | // The effective address might be unaligned. This is only set to true if | |
Collapse file Copy file name to clipboardExpand all lines: deps/v8/src/execution/simulator.h +11-7Lines changed: 11 additions & 7 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -199,13 +199,17 @@ class GeneratedCode { | 199 | 199 | return fn(args...); | 200 | 200 | #else | 201 | 201 | // AIX ABI requires function descriptors (FD). Artificially create a pseudo | 202 | | - // FD to ensure correct dispatch to generated code. The 'volatile' | 203 | | - // declaration is required to avoid the compiler from not observing the | 204 | | - // alias of the pseudo FD to the function pointer, and hence, optimizing the | 205 | | - // pseudo FD declaration/initialization away. | 206 | | - volatile Address function_desc[] = {reinterpret_cast<Address>(fn_ptr_), 0, | 207 | | - 0}; | 208 | | - Signature* fn = reinterpret_cast<Signature*>(function_desc); | | 202 | + // FD to ensure correct dispatch to generated code. | | 203 | + void* function_desc[3]; | | 204 | + Signature* fn; | | 205 | + asm("std %1, 0(%2)\n\t" | | 206 | + "li 0, 0\n\t" | | 207 | + "std 0, 8(%2)\n\t" | | 208 | + "std 0, 16(%2)\n\t" | | 209 | + "mr %0, %2\n\t" | | 210 | + : "=r"(fn) | | 211 | + : "r"(fn_ptr_), "r"(function_desc) | | 212 | + : "memory", "0"); | 209 | 213 | return fn(args...); | 210 | 214 | #endif // V8_OS_ZOS | 211 | 215 | #else | |
Collapse file Copy file name to clipboardExpand all lines: deps/v8/src/trap-handler/handler-shared.cc +4Lines changed: 4 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -24,7 +24,11 @@ namespace v8 { | 24 | 24 | namespace internal { | 25 | 25 | namespace trap_handler { | 26 | 26 |
| | 27 | +#if defined(V8_OS_AIX) | | 28 | +__thread bool TrapHandlerGuard::is_active_ = 0; | | 29 | +#else | 27 | 30 | thread_local bool TrapHandlerGuard::is_active_ = 0; | | 31 | +#endif | 28 | 32 |
| 29 | 33 | size_t gNumCodeObjects = 0; | 30 | 34 | CodeProtectionInfoListEntry* gCodeObjects = nullptr; | |
|