| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e3193ee commit f54a7a4
14 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.12', | ||
| 41 | + 'v8_embedder_string': '-node.13', | ||
| 42 | 42 | ||
| 43 | 43 | ##### V8 defaults for Node.js ##### | |
| 44 | 44 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -57,21 +57,13 @@ void FPU::SetFlushDenormals(bool value) { | |||
| 57 | 57 | #elif defined(V8_HOST_ARCH_ARM64) || defined(V8_HOST_ARCH_ARM) | |
| 58 | 58 | ||
| 59 | 59 | namespace { | |
| 60 | - #if defined(V8_HOST_ARCH_ARM64) && defined(_MSC_VER) && !defined(__clang__) | ||
| 61 | - #include <intrin.h> | ||
| 62 | - #endif | ||
| 63 | - | ||
| 64 | 60 | // Bit 24 is the flush-to-zero mode control bit. Setting it to 1 flushes | |
| 65 | 61 | // denormals to 0. | |
| 66 | 62 | constexpr int kFlushDenormToZeroBit = (1 << 24); | |
| 67 | 63 | int GetStatusWord() { | |
| 68 | 64 | int result; | |
| 69 | 65 | #if defined(V8_HOST_ARCH_ARM64) | |
| 70 | - # if defined(_MSC_VER) && !defined(__clang__) | ||
| 71 | - result = _ReadStatusReg(ARM64_FPCR); | ||
| 72 | - # else | ||
| 73 | - asm volatile("mrs %x[result], FPCR" : [result] "=r"(result)); | ||
| 74 | - # endif | ||
| 66 | + asm volatile("mrs %x[result], FPCR" : [result] "=r"(result)); | ||
| 75 | 67 | #else | |
| 76 | 68 | asm volatile("vmrs %[result], FPSCR" : [result] "=r"(result)); | |
| 77 | 69 | #endif | |
@@ -80,11 +72,7 @@ int GetStatusWord() { | |||
| 80 | 72 | ||
| 81 | 73 | void SetStatusWord(int a) { | |
| 82 | 74 | #if defined(V8_HOST_ARCH_ARM64) | |
| 83 | - # if defined(_MSC_VER) && !defined(__clang__) | ||
| 84 | - _WriteStatusReg(ARM64_FPCR, a); | ||
| 85 | - # else | ||
| 86 | - asm volatile("msr FPCR, %x[src]" : : [src] "r"(a)); | ||
| 87 | - # endif | ||
| 75 | + asm volatile("msr FPCR, %x[src]" : : [src] "r"(a)); | ||
| 88 | 76 | #else | |
| 89 | 77 | asm volatile("vmsr FPSCR, %[src]" : : [src] "r"(a)); | |
| 90 | 78 | #endif | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -168,10 +168,14 @@ class AssemblerZone { | |||
| 168 | 168 | public: | |
| 169 | 169 | explicit AssemblerZone(const MaybeAssemblerZone& zone) | |
| 170 | 170 | // Create a fresh Zone unless one is already provided. | |
| 171 | - : maybe_local_zone_(), | ||
| 171 | + : maybe_local_zone_( | ||
| 172 | + std::holds_alternative<Zone*>(zone) | ||
| 173 | + ? std::nullopt | ||
| 174 | + : std::make_optional<Zone>(std::get<AccountingAllocator*>(zone), | ||
| 175 | + ZONE_NAME)), | ||
| 172 | 176 | zone_(std::holds_alternative<Zone*>(zone) | |
| 173 | 177 | ? std::get<Zone*>(zone) | |
| 174 | - : &maybe_local_zone_.emplace(std::get<AccountingAllocator*>(zone), ZONE_NAME)) {} | ||
| 178 | + : &maybe_local_zone_.value()) {} | ||
| 175 | 179 | ||
| 176 | 180 | Zone* get() const { return zone_; } | |
| 177 | 181 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -879,7 +879,7 @@ ElementAccessFeedback const& JSHeapBroker::ProcessFeedbackMapsForElementAccess( | |||
| 879 | 879 | Tagged<Map> transition_target; | |
| 880 | 880 | ||
| 881 | 881 | // Don't generate elements kind transitions from stable maps. | |
| 882 | - if (!map.is_stable() && possible_transition_targets.begin() != possible_transition_targets.end()) { | ||
| 882 | + if (!map.is_stable()) { | ||
| 883 | 883 | // The lock is needed for UnusedPropertyFields (called deep inside | |
| 884 | 884 | // FindElementsKindTransitionedMap). | |
| 885 | 885 | MapUpdaterGuardIfNeeded mumd_scope(this); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1292,11 +1292,11 @@ class WasmFrame : public TypedFrame { | |||
| 1292 | 1292 | FrameSummaries Summarize() const override; | |
| 1293 | 1293 | ||
| 1294 | 1294 | static WasmFrame* cast(StackFrame* frame) { | |
| 1295 | + DCHECK(frame->is_wasm() | ||
| 1295 | 1296 | #ifdef V8_ENABLE_DRUMBRAKE | |
| 1296 | - DCHECK(frame->is_wasm() && !frame->is_wasm_interpreter_entry()); | ||
| 1297 | - #else | ||
| 1298 | - DCHECK(frame->is_wasm()); | ||
| 1297 | + && !frame->is_wasm_interpreter_entry() | ||
| 1299 | 1298 | #endif // V8_ENABLE_DRUMBRAKE | |
| 1299 | + ); | ||
| 1300 | 1300 | return static_cast<WasmFrame*>(frame); | |
| 1301 | 1301 | } | |
| 1302 | 1302 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -574,14 +574,10 @@ using DebugObjectCache = std::vector<Handle<HeapObject>>; | |||
| 574 | 574 | #define THREAD_LOCAL_TOP_ADDRESS(type, name) \ | |
| 575 | 575 | inline type* name##_address() { return &thread_local_top()->name##_; } | |
| 576 | 576 | ||
| 577 | - #if defined(_MSC_VER) | ||
| 578 | - extern thread_local Isolate* g_current_isolate_ V8_CONSTINIT; | ||
| 579 | - #else | ||
| 580 | 577 | // Do not use this variable directly, use Isolate::Current() instead. | |
| 581 | 578 | // Defined outside of Isolate because Isolate uses V8_EXPORT_PRIVATE. | |
| 582 | 579 | __attribute__((tls_model(V8_TLS_MODEL))) extern thread_local Isolate* | |
| 583 | 580 | g_current_isolate_ V8_CONSTINIT; | |
| 584 | - #endif // defined(_MSC_VER) | ||
| 585 | 581 | ||
| 586 | 582 | // HiddenFactory exists so Isolate can privately inherit from it without making | |
| 587 | 583 | // Factory's members available to Isolate directly. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -33,14 +33,10 @@ class MarkingBarrier; | |||
| 33 | 33 | class MutablePageMetadata; | |
| 34 | 34 | class Safepoint; | |
| 35 | 35 | ||
| 36 | - #if defined(_MSC_VER) | ||
| 37 | - extern thread_local LocalHeap* g_current_local_heap_ V8_CONSTINIT; | ||
| 38 | - #else | ||
| 39 | 36 | // Do not use this variable directly, use LocalHeap::Current() instead. | |
| 40 | 37 | // Defined outside of LocalHeap because LocalHeap uses V8_EXPORT_PRIVATE. | |
| 41 | 38 | __attribute__((tls_model(V8_TLS_MODEL))) extern thread_local LocalHeap* | |
| 42 | 39 | g_current_local_heap_ V8_CONSTINIT; | |
| 43 | - #endif // defined(_MSC_VER) | ||
| 44 | 40 | ||
| 45 | 41 | // LocalHeap is used by the GC to track all threads with heap access in order to | |
| 46 | 42 | // stop them before performing a collection. LocalHeaps can be either Parked or | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11003,19 +11003,13 @@ MaybeReduceResult MaglevGraphBuilder::TryReduceCallForNewClosure( | |||
| 11003 | 11003 | return BuildCallRuntime(Runtime::kThrowConstructorNonCallableError, | |
| 11004 | 11004 | {target_node}); | |
| 11005 | 11005 | } | |
| 11006 | - | ||
| 11007 | - #ifdef V8_ENABLE_LEAPTIERING | ||
| 11008 | - RETURN_IF_DONE(TryBuildCallKnownJSFunction( | ||
| 11009 | - target_context, target_node, | ||
| 11010 | - GetRootConstant(RootIndex::kUndefinedValue), | ||
| 11011 | - dispatch_handle, | ||
| 11012 | - shared, feedback_cell, args, feedback_source)); | ||
| 11013 | - #else | ||
| 11014 | 11006 | RETURN_IF_DONE(TryBuildCallKnownJSFunction( | |
| 11015 | 11007 | target_context, target_node, | |
| 11016 | 11008 | GetRootConstant(RootIndex::kUndefinedValue), | |
| 11017 | - shared, feedback_cell, args, feedback_source)); | ||
| 11009 | + #ifdef V8_ENABLE_LEAPTIERING | ||
| 11010 | + dispatch_handle, | ||
| 11018 | 11011 | #endif | |
| 11012 | + shared, feedback_cell, args, feedback_source)); | ||
| 11019 | 11013 | } | |
| 11020 | 11014 | return BuildGenericCall(target_node, Call::TargetType::kJSFunction, args); | |
| 11021 | 11015 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -42,13 +42,13 @@ HEAP_OBJECT_TYPE_LIST(DECL_TYPE) | |||
| 42 | 42 | // Instance types which are associated with one unique map. | |
| 43 | 43 | ||
| 44 | 44 | template <class type> | |
| 45 | - V8_INLINE constexpr std::optional<RootIndex> UniqueMapOfInstanceTypeCheck() { | ||
| 45 | + V8_INLINE consteval std::optional<RootIndex> UniqueMapOfInstanceTypeCheck() { | ||
| 46 | 46 | return {}; | |
| 47 | 47 | } | |
| 48 | 48 | ||
| 49 | 49 | #define INSTANCE_TYPE_MAP(V, rootIndexName, rootAccessorName, class_name) \ | |
| 50 | 50 | template <> \ | |
| 51 | - V8_INLINE constexpr std::optional<RootIndex> \ | ||
| 51 | + V8_INLINE consteval std::optional<RootIndex> \ | ||
| 52 | 52 | UniqueMapOfInstanceTypeCheck<InstanceTypeTraits::class_name>() { \ | |
| 53 | 53 | return {RootIndex::k##rootIndexName}; \ | |
| 54 | 54 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments