Skip to content

Commit

Permalink
deps: cherry-pick a927f81c7 from V8 upstream
Browse files Browse the repository at this point in the history
Original commit message:

  [ValueSerializer] Allow wire format versions beginning with 13 to be deserialized in non-legacy mode.

  As of version 13, delegates do not need to worry about colliding tags with the
  tags reserved by v8, since v8 inserts a "host object" prefix beforehand. Thus
  the format is now suitable for more general use, without opting into the "legacy"
  mode that had this caveat.

  Review-Url: https://codereview.chromium.org/2722213002
  Cr-Commit-Position: refs/heads/master@{nodejs#43521}

PR-URL: nodejs#11752
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
  • Loading branch information
addaleax authored and Olivier Martin committed May 19, 2017
1 parent 2a2a556 commit e710b14
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions deps/v8/src/api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3273,10 +3273,9 @@ Maybe<bool> ValueDeserializer::ReadHeader(Local<Context> context) {
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
DCHECK(read_header);

// TODO(jbroman): Today, all wire formats are "legacy". When a more supported
// format is added, compare the version of the internal serializer to the
// minimum non-legacy version number.
if (!private_->supports_legacy_wire_format) {
static const uint32_t kMinimumNonLegacyVersion = 13;
if (GetWireFormatVersion() < kMinimumNonLegacyVersion &&
!private_->supports_legacy_wire_format) {
isolate->Throw(*isolate->factory()->NewError(
i::MessageTemplate::kDataCloneDeserializationVersionError));
has_pending_exception = true;
Expand Down

0 comments on commit e710b14

Please sign in to comment.