| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ecf8721 commit b7fab70
6 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -38,7 +38,7 @@ | |||
| 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.18', | ||
| 41 | + 'v8_embedder_string': '-node.17', | ||
| 42 | 42 | ||
| 43 | 43 | ##### V8 defaults for Node.js ##### | |
| 44 | 44 | ||
| 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" and !is_clang) { | ||
| 1630 | + if (current_os == "aix") { | ||
| 1631 | 1631 | cflags += [ | |
| 1632 | 1632 | # Work around AIX ceil, trunc and round oddities. | |
| 1633 | 1633 | "-mcpu=power5+", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4201,19 +4201,6 @@ 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); | ||
| 4217 | 4204 | __ LoadU64(r4, MemOperand(r3, kSystemPointerSize)); | |
| 4218 | 4205 | __ LoadU64(r3, MemOperand(r3)); | |
| 4219 | 4206 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -525,7 +525,7 @@ class InputsRepFactory { | |||
| 525 | 525 | }; | |
| 526 | 526 | }; | |
| 527 | 527 | ||
| 528 | - struct __attribute__((packed)) EffectDimensions { | ||
| 528 | + struct 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 __attribute__((packed)) OpEffects { | ||
| 623 | + struct 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 __attribute__((packed)) Kind { | ||
| 2907 | + struct 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 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -199,17 +199,13 @@ 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. | ||
| 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"); | ||
| 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); | ||
| 213 | 209 | return fn(args...); | |
| 214 | 210 | #endif // V8_OS_ZOS | |
| 215 | 211 | #else | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -24,11 +24,7 @@ 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 | ||
| 30 | 27 | thread_local bool TrapHandlerGuard::is_active_ = 0; | |
| 31 | - #endif | ||
| 32 | 28 | ||
| 33 | 29 | size_t gNumCodeObjects = 0; | |
| 34 | 30 | CodeProtectionInfoListEntry* gCodeObjects = nullptr; | |
| Back | FazBrowse Home | New Git URL |
0 commit comments