| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 52e7b6d commit 1e6922e
8 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11,7 +11,7 @@ | |||
| 11 | 11 | #define V8_MAJOR_VERSION 11 | |
| 12 | 12 | #define V8_MINOR_VERSION 8 | |
| 13 | 13 | #define V8_BUILD_NUMBER 172 | |
| 14 | - #define V8_PATCH_LEVEL 15 | ||
| 14 | + #define V8_PATCH_LEVEL 17 | ||
| 15 | 15 | ||
| 16 | 16 | // Use 1 for candidates and 0 otherwise. | |
| 17 | 17 | // (Boolean macro values are not supported by all preprocessors.) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -579,7 +579,7 @@ | |||
| 579 | 579 | 'release_x64_gcmole': [ | |
| 580 | 580 | 'release_bot', 'x64', 'gcmole'], | |
| 581 | 581 | 'release_x64_msvc': [ | |
| 582 | - 'release_bot_no_goma', 'x64', 'minimal_symbols', 'msvc'], | ||
| 582 | + 'release_bot_no_reclient', 'x64', 'minimal_symbols', 'msvc'], | ||
| 583 | 583 | 'release_x64_correctness_fuzzer' : [ | |
| 584 | 584 | 'release_bot', 'x64', 'v8_correctness_fuzzer'], | |
| 585 | 585 | 'release_x64_disable_runtime_call_stats': [ | |
@@ -589,7 +589,7 @@ | |||
| 589 | 589 | 'release_x64_fuchsia_trybot': [ | |
| 590 | 590 | 'release_trybot', 'x64', 'fuchsia'], | |
| 591 | 591 | 'release_x64_gcc': [ | |
| 592 | - 'release_bot_no_goma', 'x64', 'gcc', 'lld', 'no_custom_libcxx'], | ||
| 592 | + 'release_bot_no_reclient', 'x64', 'gcc', 'lld', 'no_custom_libcxx'], | ||
| 593 | 593 | 'release_x64_ios_simulator': [ | |
| 594 | 594 | 'release_bot', 'x64', 'ios_simulator'], | |
| 595 | 595 | 'release_x64_internal': [ | |
@@ -648,7 +648,7 @@ | |||
| 648 | 648 | 'debug_x64_asan': [ | |
| 649 | 649 | 'debug_bot', 'x64', 'asan', 'lsan'], | |
| 650 | 650 | 'debug_x64_asan_no_lsan_static': [ | |
| 651 | - 'debug', 'static', 'goma', 'v8_enable_slow_dchecks', 'v8_optimized_debug', | ||
| 651 | + 'debug', 'static', 'reclient', 'v8_enable_slow_dchecks', 'v8_optimized_debug', | ||
| 652 | 652 | 'x64', 'asan'], | |
| 653 | 653 | 'debug_x64_conservative_stack_scanning': [ | |
| 654 | 654 | 'debug_bot', 'x64', 'conservative_stack_scanning'], | |
@@ -661,7 +661,7 @@ | |||
| 661 | 661 | 'debug_x64_fuchsia': [ | |
| 662 | 662 | 'debug_bot', 'x64', 'fuchsia'], | |
| 663 | 663 | 'debug_x64_gcc': [ | |
| 664 | - 'debug_bot_no_goma', 'x64', 'gcc', 'lld', 'no_custom_libcxx'], | ||
| 664 | + 'debug_bot_no_reclient', 'x64', 'gcc', 'lld', 'no_custom_libcxx'], | ||
| 665 | 665 | 'debug_x64_header_includes': [ | |
| 666 | 666 | 'debug_bot', 'x64', 'v8_check_header_includes'], | |
| 667 | 667 | 'debug_x64_no_shared_cage': [ | |
@@ -696,15 +696,15 @@ | |||
| 696 | 696 | 'debug_x86_minimal_symbols': [ | |
| 697 | 697 | 'debug_bot', 'x86', 'minimal_symbols'], | |
| 698 | 698 | 'debug_x86_msvc': [ | |
| 699 | - 'debug_bot_no_goma', 'x86', 'minimal_symbols', 'msvc'], | ||
| 699 | + 'debug_bot_no_reclient', 'x86', 'minimal_symbols', 'msvc'], | ||
| 700 | 700 | 'debug_x86_no_i18n': [ | |
| 701 | 701 | 'debug_bot', 'x86', 'v8_no_i18n'], | |
| 702 | 702 | 'debug_x86_trybot': [ | |
| 703 | 703 | 'debug_trybot', 'x86'], | |
| 704 | 704 | 'debug_x86_vtunejit': [ | |
| 705 | 705 | 'debug_bot', 'x86', 'v8_enable_vtunejit'], | |
| 706 | 706 | 'full_debug_x86': [ | |
| 707 | - 'debug', 'x86', 'goma', 'v8_enable_slow_dchecks', 'v8_full_debug'], | ||
| 707 | + 'debug', 'x86', 'reclient', 'v8_enable_slow_dchecks', 'v8_full_debug'], | ||
| 708 | 708 | ||
| 709 | 709 | # Release configs for x86. | |
| 710 | 710 | 'release_x86': [ | |
@@ -725,7 +725,7 @@ | |||
| 725 | 725 | 'release_x64_predictable': [ | |
| 726 | 726 | 'release_bot', 'x64', 'v8_enable_verify_predictable'], | |
| 727 | 727 | 'release_x86_shared_verify_heap': [ | |
| 728 | - 'release', 'x86', 'goma', 'shared', 'v8_verify_heap'], | ||
| 728 | + 'release', 'x86', 'reclient', 'shared', 'v8_verify_heap'], | ||
| 729 | 729 | 'release_x86_trybot': [ | |
| 730 | 730 | 'release_trybot', 'x86'], | |
| 731 | 731 | 'release_x86_verify_csa': [ | |
@@ -813,19 +813,19 @@ | |||
| 813 | 813 | ||
| 814 | 814 | 'debug_bot_no_slow_dchecks': { | |
| 815 | 815 | 'mixins': [ | |
| 816 | - 'debug', 'shared', 'goma', 'v8_disable_slow_dchecks', | ||
| 816 | + 'debug', 'shared', 'reclient', 'v8_disable_slow_dchecks', | ||
| 817 | 817 | 'v8_optimized_debug', 'v8_enable_google_benchmark'], | |
| 818 | 818 | }, | |
| 819 | 819 | ||
| 820 | 820 | 'debug_bot': { | |
| 821 | 821 | 'mixins': [ | |
| 822 | - 'debug', 'shared', 'goma', 'v8_enable_slow_dchecks', | ||
| 822 | + 'debug', 'shared', 'reclient', 'v8_enable_slow_dchecks', | ||
| 823 | 823 | 'v8_optimized_debug', 'v8_enable_google_benchmark'], | |
| 824 | 824 | }, | |
| 825 | 825 | ||
| 826 | - 'debug_bot_no_goma': { | ||
| 826 | + 'debug_bot_no_reclient': { | ||
| 827 | 827 | 'mixins': [ | |
| 828 | - 'debug', 'shared', 'no_goma', 'v8_enable_slow_dchecks', | ||
| 828 | + 'debug', 'shared', 'no_reclient', 'v8_enable_slow_dchecks', | ||
| 829 | 829 | 'v8_optimized_debug'], | |
| 830 | 830 | }, | |
| 831 | 831 | ||
@@ -867,10 +867,6 @@ | |||
| 867 | 867 | 'gn_args': 'v8_gcmole=true', | |
| 868 | 868 | }, | |
| 869 | 869 | ||
| 870 | - 'goma': { | ||
| 871 | - 'gn_args': 'use_goma=true', | ||
| 872 | - }, | ||
| 873 | - | ||
| 874 | 870 | 'hard_float': { | |
| 875 | 871 | 'gn_args': 'arm_float_abi="hard"', | |
| 876 | 872 | }, | |
@@ -910,8 +906,8 @@ | |||
| 910 | 906 | 'gn_args': 'use_custom_libcxx=false', | |
| 911 | 907 | }, | |
| 912 | 908 | ||
| 913 | - 'no_goma': { | ||
| 914 | - 'gn_args': 'use_goma=false', | ||
| 909 | + 'no_reclient': { | ||
| 910 | + 'gn_args': 'use_remoteexec=false', | ||
| 915 | 911 | }, | |
| 916 | 912 | ||
| 917 | 913 | 'no_sandbox': { | |
@@ -935,15 +931,15 @@ | |||
| 935 | 931 | }, | |
| 936 | 932 | ||
| 937 | 933 | 'release_bot': { | |
| 938 | - 'mixins': ['release', 'static', 'goma', 'v8_enable_google_benchmark'], | ||
| 934 | + 'mixins': ['release', 'static', 'reclient', 'v8_enable_google_benchmark'], | ||
| 939 | 935 | }, | |
| 940 | 936 | ||
| 941 | - 'release_bot_no_goma': { | ||
| 942 | - 'mixins': ['release', 'static', 'no_goma'], | ||
| 937 | + 'release_bot_no_reclient': { | ||
| 938 | + 'mixins': ['release', 'static', 'no_reclient'], | ||
| 943 | 939 | }, | |
| 944 | 940 | ||
| 945 | 941 | 'release_bot_reclient': { | |
| 946 | - 'mixins': ['release', 'static', 'no_goma', 'reclient'], | ||
| 942 | + 'mixins': ['release', 'static', 'reclient'], | ||
| 947 | 943 | }, | |
| 948 | 944 | ||
| 949 | 945 | 'release_trybot': { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1083,13 +1083,13 @@ MaybeHandle<Map> JSFunction::GetDerivedMap(Isolate* isolate, | |||
| 1083 | 1083 | isolate); | |
| 1084 | 1084 | prototype = handle(realm_constructor->prototype(), isolate); | |
| 1085 | 1085 | } | |
| 1086 | - CHECK(IsJSReceiver(*prototype)); | ||
| 1087 | - DCHECK_EQ(constructor_initial_map->constructor_or_back_pointer(), | ||
| 1088 | - *constructor); | ||
| 1089 | 1086 | ||
| 1090 | - Handle<Map> map = Map::TransitionToDerivedMap( | ||
| 1091 | - isolate, constructor_initial_map, Handle<HeapObject>::cast(prototype)); | ||
| 1092 | - DCHECK_EQ(map->constructor_or_back_pointer(), *constructor); | ||
| 1087 | + Handle<Map> map = Map::CopyInitialMap(isolate, constructor_initial_map); | ||
| 1088 | + map->set_new_target_is_base(false); | ||
| 1089 | + CHECK(IsJSReceiver(*prototype)); | ||
| 1090 | + if (map->prototype() != *prototype) | ||
| 1091 | + Map::SetPrototype(isolate, map, Handle<HeapObject>::cast(prototype)); | ||
| 1092 | + map->SetConstructor(*constructor); | ||
| 1093 | 1093 | return map; | |
| 1094 | 1094 | } | |
| 1095 | 1095 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2344,31 +2344,13 @@ void Map::StartInobjectSlackTracking() { | |||
| 2344 | 2344 | ||
| 2345 | 2345 | Handle<Map> Map::TransitionToPrototype(Isolate* isolate, Handle<Map> map, | |
| 2346 | 2346 | Handle<HeapObject> prototype) { | |
| 2347 | - Handle<Map> new_map = TransitionsAccessor::GetPrototypeTransition( | ||
| 2348 | - isolate, map, prototype, map->new_target_is_base()); | ||
| 2347 | + Handle<Map> new_map = | ||
| 2348 | + TransitionsAccessor::GetPrototypeTransition(isolate, map, prototype); | ||
| 2349 | 2349 | if (new_map.is_null()) { | |
| 2350 | 2350 | new_map = Copy(isolate, map, "TransitionToPrototype"); | |
| 2351 | 2351 | TransitionsAccessor::PutPrototypeTransition(isolate, map, prototype, | |
| 2352 | 2352 | new_map); | |
| 2353 | - if (*prototype != map->prototype()) { | ||
| 2354 | - Map::SetPrototype(isolate, new_map, prototype); | ||
| 2355 | - } | ||
| 2356 | - } | ||
| 2357 | - return new_map; | ||
| 2358 | - } | ||
| 2359 | - | ||
| 2360 | - Handle<Map> Map::TransitionToDerivedMap(Isolate* isolate, Handle<Map> map, | ||
| 2361 | - Handle<HeapObject> prototype) { | ||
| 2362 | - Handle<Map> new_map = TransitionsAccessor::GetPrototypeTransition( | ||
| 2363 | - isolate, map, prototype, /* new_target_is_base */ false); | ||
| 2364 | - if (new_map.is_null()) { | ||
| 2365 | - new_map = CopyInitialMap(isolate, map); | ||
| 2366 | - TransitionsAccessor::PutPrototypeTransition(isolate, map, prototype, | ||
| 2367 | - new_map); | ||
| 2368 | - if (*prototype != map->prototype()) { | ||
| 2369 | - Map::SetPrototype(isolate, new_map, prototype); | ||
| 2370 | - } | ||
| 2371 | - new_map->set_new_target_is_base(false); | ||
| 2353 | + Map::SetPrototype(isolate, new_map, prototype); | ||
| 2372 | 2354 | } | |
| 2373 | 2355 | return new_map; | |
| 2374 | 2356 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -863,9 +863,6 @@ class Map : public TorqueGeneratedMap<Map, HeapObject> { | |||
| 863 | 863 | V8_EXPORT_PRIVATE static Handle<Map> TransitionToPrototype( | |
| 864 | 864 | Isolate* isolate, Handle<Map> map, Handle<HeapObject> prototype); | |
| 865 | 865 | ||
| 866 | - V8_EXPORT_PRIVATE static Handle<Map> TransitionToDerivedMap( | ||
| 867 | - Isolate* isolate, Handle<Map> map, Handle<HeapObject> prototype); | ||
| 868 | - | ||
| 869 | 866 | static Handle<Map> TransitionToImmutableProto(Isolate* isolate, | |
| 870 | 867 | Handle<Map> map); | |
| 871 | 868 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -443,8 +443,7 @@ void TransitionsAccessor::PutPrototypeTransition(Isolate* isolate, | |||
| 443 | 443 | ||
| 444 | 444 | // static | |
| 445 | 445 | Handle<Map> TransitionsAccessor::GetPrototypeTransition( | |
| 446 | - Isolate* isolate, Handle<Map> map, Handle<Object> prototype_handle, | ||
| 447 | - bool new_target_is_base) { | ||
| 446 | + Isolate* isolate, Handle<Map> map, Handle<Object> prototype_handle) { | ||
| 448 | 447 | DisallowGarbageCollection no_gc; | |
| 449 | 448 | Object prototype = *prototype_handle; | |
| 450 | 449 | Tagged<WeakFixedArray> cache = GetPrototypeTransitions(isolate, map); | |
@@ -456,8 +455,7 @@ Handle<Map> TransitionsAccessor::GetPrototypeTransition( | |||
| 456 | 455 | Tagged<HeapObject> heap_object; | |
| 457 | 456 | if (target.GetHeapObjectIfWeak(&heap_object)) { | |
| 458 | 457 | Tagged<Map> target_map = Map::cast(heap_object); | |
| 459 | - if (target_map->prototype() == prototype && | ||
| 460 | - target_map->new_target_is_base() == new_target_is_base) { | ||
| 458 | + if (target_map->prototype() == prototype) { | ||
| 461 | 459 | return handle(target_map, isolate); | |
| 462 | 460 | } | |
| 463 | 461 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -124,20 +124,19 @@ class V8_EXPORT_PRIVATE TransitionsAccessor { | |||
| 124 | 124 | } | |
| 125 | 125 | ||
| 126 | 126 | // ===== PROTOTYPE TRANSITIONS ===== | |
| 127 | - // When you set the prototype of an object using the __proto__ accessor, or if | ||
| 128 | - // an unrelated new.target is passed to a constructor you need a new map for | ||
| 129 | - // the object (the prototype is stored in the map). In order not to multiply | ||
| 130 | - // maps unnecessarily we store these as transitions in the original map. That | ||
| 131 | - // way we can transition to the same map if the same prototype is set, rather | ||
| 132 | - // than creating a new map every time. The transitions are in the form of a | ||
| 133 | - // map where the keys are prototype objects and the values are the maps they | ||
| 134 | - // transition to. PutPrototypeTransition can trigger GC. | ||
| 127 | + // When you set the prototype of an object using the __proto__ accessor you | ||
| 128 | + // need a new map for the object (the prototype is stored in the map). In | ||
| 129 | + // order not to multiply maps unnecessarily we store these as transitions in | ||
| 130 | + // the original map. That way we can transition to the same map if the same | ||
| 131 | + // prototype is set, rather than creating a new map every time. The | ||
| 132 | + // transitions are in the form of a map where the keys are prototype objects | ||
| 133 | + // and the values are the maps they transition to. | ||
| 134 | + // PutPrototypeTransition can trigger GC. | ||
| 135 | 135 | static void PutPrototypeTransition(Isolate* isolate, Handle<Map>, | |
| 136 | 136 | Handle<Object> prototype, | |
| 137 | 137 | Handle<Map> target_map); | |
| 138 | 138 | static Handle<Map> GetPrototypeTransition(Isolate* isolate, Handle<Map> map, | |
| 139 | - Handle<Object> prototype, | ||
| 140 | - bool new_target_is_base); | ||
| 139 | + Handle<Object> prototype); | ||
| 141 | 140 | ||
| 142 | 141 | // During the first-time Map::Update and Map::TryUpdate, the migration target | |
| 143 | 142 | // map could be cached in the raw_transitions slot of the old map that is | |
| Back | FazBrowse Home | New Git URL |
0 commit comments