| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent b0d6742 commit c8e15cd
2 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.9', | ||
| 39 | + 'v8_embedder_string': '-node.10', | ||
| 40 | 40 | ||
| 41 | 41 | ##### V8 defaults for Node.js ##### | |
| 42 | 42 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -30,13 +30,18 @@ void SerializerDeserializer::Iterate(Isolate* isolate, RootVisitor* visitor) { | |||
| 30 | 30 | } | |
| 31 | 31 | ||
| 32 | 32 | bool SerializerDeserializer::CanBeDeferred(HeapObject o) { | |
| 33 | - // Maps cannot be deferred as objects are expected to have a valid map | ||
| 34 | - // immediately. Internalized strings cannot be deferred as they might be | ||
| 33 | + // 1. Maps cannot be deferred as objects are expected to have a valid map | ||
| 34 | + // immediately. | ||
| 35 | + // 2. Internalized strings cannot be deferred as they might be | ||
| 35 | 36 | // converted to thin strings during post processing, at which point forward | |
| 36 | 37 | // references to the now-thin string will already have been written. | |
| 38 | + // 3. JS objects with embedder fields cannot be deferred because the | ||
| 39 | + // serialize/deserialize callbacks need the back reference immediately to | ||
| 40 | + // identify the object. | ||
| 37 | 41 | // TODO(leszeks): Could we defer string serialization if forward references | |
| 38 | 42 | // were resolved after object post processing? | |
| 39 | - return !o.IsMap() && !o.IsInternalizedString(); | ||
| 43 | + return !o.IsMap() && !o.IsInternalizedString() && | ||
| 44 | + !(o.IsJSObject() && JSObject::cast(o).GetEmbedderFieldCount() > 0); | ||
| 40 | 45 | } | |
| 41 | 46 | ||
| 42 | 47 | void SerializerDeserializer::RestoreExternalReferenceRedirector( | |
| Back | FazBrowse Home | New Git URL |
0 commit comments