Commit 338799cd authored by Mythri Alle's avatar Mythri Alle Committed by Commit Bot

Revert "Reland "[TurboFan] Don't serialize read-only heap objects""

This reverts commit a4db68d4.

Reason for revert: Speculatively reverting: failure on win32 bot
https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/23495
Not sure if the test is flaky or this cl is actually making it flaky. Reverting while I investigate this issue.

Original change's description:
> Reland "[TurboFan] Don't serialize read-only heap objects"
> 
> Reland the cl with fixes to TSAN failures.
> 
> This reverts commit 03c9de73.
> 
> 
> Original change's description:
> > Revert "[TurboFan] Don't serialize read-only heap objects"
> >
> > This reverts commit 9f18e55f.
> >
> > Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660
> >
> > Original change's description:
> > > [TurboFan] Don't serialize read-only heap objects
> > >
> > > Read-only heap objects are immutable and immovable. It is safe to access
> > > these objects directly from the heap. Not having to serialize them
> > > reduces the time we spend on main thread especially for TurboProp.
> > >
> > > Bug: v8:9684
> > > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596
> > > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> > > Reviewed-by: Maya Lekova <mslekova@chromium.org>
> > > Commit-Queue: Mythri Alle <mythria@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#65490}
> >
> > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org
> >
> > Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: v8:9684
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732
> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#65492}
> 
> TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: v8:9684
> Change-Id: I54c9973d0f4d88504b2fb920feb3480fe1f1e1fc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573
> Reviewed-by: Mythri Alle <mythria@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Commit-Queue: Mythri Alle <mythria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65584}

TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org

Change-Id: Ic28774a2530bb7b6688a974f2af4a23ec04ef236
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9684
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987250Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65585}
parent a4db68d4
This diff is collapsed.
......@@ -18,7 +18,6 @@
#include "src/objects/feedback-vector.h"
#include "src/objects/function-kind.h"
#include "src/objects/objects.h"
#include "src/utils/address-map.h"
#include "src/utils/ostreams.h"
#include "src/zone/zone-containers.h"
......@@ -85,7 +84,7 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
void InitializeAndStartSerializing(Handle<NativeContext> native_context);
Isolate* isolate() const { return isolate_; }
Zone* zone() const { return zone_; }
Zone* zone() const { return current_zone_; }
bool tracing_enabled() const { return tracing_enabled_; }
enum BrokerMode { kDisabled, kSerializing, kSerialized, kRetired };
......@@ -98,9 +97,8 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
void PrintRefsAnalysis() const;
#endif // DEBUG
// Retruns the handle from root index table for read only heap objects.
Handle<Object> GetRootHandle(Object object);
// Returns nullptr iff handle unknown.
ObjectData* GetData(Handle<Object>) const;
// Never returns nullptr.
ObjectData* GetOrCreateData(Handle<Object>);
// Like the previous but wraps argument in handle first (for convenience).
......@@ -195,8 +193,6 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
void IncrementTracingIndentation();
void DecrementTracingIndentation();
RootIndexMap const& root_index_map() { return root_index_map_; }
private:
friend class HeapObjectRef;
friend class ObjectRef;
......@@ -225,18 +221,17 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
ProcessedFeedback const& ReadFeedbackForTemplateObject(
FeedbackSource const& source);
void InitializeRefsMap();
void CollectArrayAndObjectPrototypes();
void SerializeTypedArrayStringTags();
PerIsolateCompilerCache* compiler_cache() const { return compiler_cache_; }
bool is_builtin_code(Object object);
Isolate* const isolate_;
Zone* const zone_ = nullptr;
Zone* const broker_zone_;
Zone* current_zone_ = nullptr;
base::Optional<NativeContextRef> target_native_context_;
RefsMap* refs_;
RootIndexMap root_index_map_;
ZoneUnorderedSet<Handle<JSObject>, Handle<JSObject>::hash,
Handle<JSObject>::equal_to>
array_and_object_prototypes_;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment