New issue
Advanced search Search tips

Issue 779531 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Two identical JSType() functions in v8/src/compiler - breaks jumbo builds

Project Member Reported by brat...@opera.com, Oct 30 2017

Issue description

Both v8/src/compiler/operation-typer.cc and v8/src/compiler/typer.cc declare a:

Type* JSType(Type* type) {
  if (type->Is(Type::Boolean())) return Type::Boolean();
  if (type->Is(Type::String())) return Type::String();
  if (type->Is(Type::Number())) return Type::Number();
  if (type->Is(Type::Undefined())) return Type::Undefined();
  if (type->Is(Type::Null())) return Type::Null();
  if (type->Is(Type::Symbol())) return Type::Symbol();
  if (type->Is(Type::Receiver())) return Type::Receiver();  // JS "Object"
  return Type::Any();
}

If operation-typer.cc and typer.cc end up in the same jumbo unit (they don't see to do by default but they did in my local tests with jumbo_file_merge_limit=100) that will even cause a compilation failure.

I guess the best would be to find a shared place to put it, but I'm not familiar enough with the v8 src to know such a place by heart.
 

Comment 1 by brat...@opera.com, Nov 2 2017

Summary: Two identical JSType() functions in v8/src/compiler - breaks jumbo builds (was: Two identical JSType() functions in v8/src/compiler - one should be enough)
It seems this actually affects android builds on master (some, not all). See for instance https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.android%2Fandroid_arm64_dbg_recipe%2F377159%2F%2B%2Frecipes%2Fsteps%2Fcompile__with_patch_%2F0%2Fstdout
Owner: bmeu...@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/fd35526f36a2de63fc83e8f71007791b923b6557

commit fd35526f36a2de63fc83e8f71007791b923b6557
Author: Benedikt Meurer <bmeurer@chromium.org>
Date: Thu Nov 02 19:02:10 2017

[turbofan] Avoid duplicate JSType function.

Reduce code duplication, which breaks jumbo builds. Put the StrictEqual
typing rule into the OperationTyper and share the JSType function,
which is also used by SameValue.

Bug:  chromium:779531 
Change-Id: If292f319217286fd1c676be04f9de3925ed56965
Reviewed-on: https://chromium-review.googlesource.com/751665
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49088}
[modify] https://crrev.com/fd35526f36a2de63fc83e8f71007791b923b6557/src/compiler/operation-typer.cc
[modify] https://crrev.com/fd35526f36a2de63fc83e8f71007791b923b6557/src/compiler/operation-typer.h
[modify] https://crrev.com/fd35526f36a2de63fc83e8f71007791b923b6557/src/compiler/typer.cc

Status: Fixed (was: Started)

Sign in to add a comment