| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 6c158e8 commit cad42e7
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -36,7 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | 37 | # Reset this number to 0 on major V8 upgrades. | |
| 38 | 38 | # Increment by one for each non-official patch applied to deps/v8. | |
| 39 | - 'v8_embedder_string': '-node.6', | ||
| 39 | + 'v8_embedder_string': '-node.7', | ||
| 40 | 40 | ||
| 41 | 41 | ##### V8 defaults for Node.js ##### | |
| 42 | 42 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3976,8 +3976,12 @@ bool MacroAssembler::BranchShortHelper(int32_t offset, Label* L, Condition cond, | |||
| 3976 | 3976 | BlockTrampolinePoolScope block_trampoline_pool(this); | |
| 3977 | 3977 | Register scratch = no_reg; | |
| 3978 | 3978 | if (!rt.is_reg()) { | |
| 3979 | - scratch = temps.Acquire(); | ||
| 3980 | - li(scratch, rt); | ||
| 3979 | + if (rt.immediate() == 0) { | ||
| 3980 | + scratch = zero_reg; | ||
| 3981 | + } else { | ||
| 3982 | + scratch = temps.Acquire(); | ||
| 3983 | + li(scratch, rt); | ||
| 3984 | + } | ||
| 3981 | 3985 | } else { | |
| 3982 | 3986 | scratch = rt.rm(); | |
| 3983 | 3987 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -24,7 +24,7 @@ namespace internal { | |||
| 24 | 24 | * - s5 : Currently loaded character. Must be loaded using | |
| 25 | 25 | * LoadCurrentCharacter before using any of the dispatch methods. | |
| 26 | 26 | * - s6 : Points to tip of backtrack stack | |
| 27 | - * - s7 : End of input (points to byte after last character in input). | ||
| 27 | + * - s8 : End of input (points to byte after last character in input). | ||
| 28 | 28 | * - fp : Frame pointer. Used to access arguments, local variables and | |
| 29 | 29 | * RegExp registers. | |
| 30 | 30 | * - sp : Points to tip of C stack. | |
@@ -38,7 +38,7 @@ namespace internal { | |||
| 38 | 38 | * --- sp when called --- | |
| 39 | 39 | * - fp[72] ra Return from RegExp code (ra). kReturnAddress | |
| 40 | 40 | * - fp[64] old-fp Old fp, callee saved(s9). | |
| 41 | - * - fp[0..63] s1..s78 Callee-saved registers fp..s7. | ||
| 41 | + * - fp[0..63] s1..s11 Callee-saved registers fp..s11. | ||
| 42 | 42 | * --- frame pointer ---- | |
| 43 | 43 | * - fp[-8] frame marker | |
| 44 | 44 | * - fp[-16] Isolate* isolate (address of the current isolate) kIsolate | |
@@ -672,8 +672,8 @@ Handle<HeapObject> RegExpMacroAssemblerRISCV::GetCode(Handle<String> source) { | |||
| 672 | 672 | // Order here should correspond to order of offset constants in header file. | |
| 673 | 673 | // TODO(plind): we save fp..s11, but ONLY use s3 here - use the regs | |
| 674 | 674 | // or dont save. | |
| 675 | - RegList registers_to_retain = {fp, s1, s2, s3, s4, | ||
| 676 | - s5, s6, s7, s8 /*, s9, s10, s11*/}; | ||
| 675 | + RegList registers_to_retain = {fp, s1, s2, s3, s4, s5, | ||
| 676 | + s6, s7, s8, s9, s10, s11}; | ||
| 677 | 677 | DCHECK(registers_to_retain.Count() == kNumCalleeRegsToRetain); | |
| 678 | 678 | ||
| 679 | 679 | // The remaining arguments are passed in registers, e.g.by calling the code | |
@@ -717,7 +717,7 @@ Handle<HeapObject> RegExpMacroAssemblerRISCV::GetCode(Handle<String> source) { | |||
| 717 | 717 | ||
| 718 | 718 | // Initialize backtrack stack pointer. It must not be clobbered from here | |
| 719 | 719 | // on. Note the backtrack_stackpointer is callee-saved. | |
| 720 | - static_assert(backtrack_stackpointer() == s7); | ||
| 720 | + static_assert(backtrack_stackpointer() == s8); | ||
| 721 | 721 | LoadRegExpStackPointerFromMemory(backtrack_stackpointer()); | |
| 722 | 722 | // Store the regexp base pointer - we'll later restore it / write it to | |
| 723 | 723 | // memory when returning from this irregexp code object. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -104,8 +104,8 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerRISCV | |||
| 104 | 104 | static constexpr int kStoredRegistersOffset = kFramePointerOffset; | |
| 105 | 105 | // Return address (stored from link register, read into pc on return). | |
| 106 | 106 | ||
| 107 | - // This 9 is 8 s-regs (s1..s8) plus fp. | ||
| 108 | - static constexpr int kNumCalleeRegsToRetain = 9; | ||
| 107 | + // This 9 is 8 s-regs (s1..s11) plus fp. | ||
| 108 | + static constexpr int kNumCalleeRegsToRetain = 12; | ||
| 109 | 109 | static constexpr int kReturnAddressOffset = | |
| 110 | 110 | kStoredRegistersOffset + kNumCalleeRegsToRetain * kSystemPointerSize; | |
| 111 | 111 | ||
@@ -187,7 +187,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerRISCV | |||
| 187 | 187 | ||
| 188 | 188 | // The register containing the backtrack stack top. Provides a meaningful | |
| 189 | 189 | // name to the register. | |
| 190 | - static constexpr Register backtrack_stackpointer() { return s7; } | ||
| 190 | + // s7 should not be used here because baseline sparkplug uses s7 as context | ||
| 191 | + // register. | ||
| 192 | + static constexpr Register backtrack_stackpointer() { return s8; } | ||
| 191 | 193 | ||
| 192 | 194 | // Register holding pointer to the current code object. | |
| 193 | 195 | static constexpr Register code_pointer() { return s1; } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments