New issue
Advanced search Search tips

Issue 644725 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

blink_gc_plugin: STACK_ALLOCATED class cannot derive non-STACK_ALLOCATED interfaces

Project Member Reported by jbroman@chromium.org, Sep 7 2016

Issue description

The clang blink_gc_plugin requires that classes which have pointers to STACK_ALLOCATED classes themselves be STACK_ALLOCATED, and also that every base class of a STACK_ALLOCATED class by STACK_ALLOCATED.

This causes a problem when one wishes to have a class which both points to a stack-allocated class (like ExceptionState) and implements an interface (which is not marked STACK_ALLOCATED).

It seems to me that the latter restriction could be limited to "every STACK_ALLOCATED class doesn't derive GarbageCollected (etc.)", which could be accomplished either in the plugin or with a static_assert.
 
Summary: blink_gc_plugin: STACK_ALLOCATED class cannot derive non-STACK_ALLOCATED interfaces (was: blink_gc_plugin: )
Status: Fixed (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 12 2017

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

commit d73ae5a93f4bc96f55a8e5b1a9d4b2c037700475
Author: Victor Costan <pwnall@chromium.org>
Date: Mon Jun 12 23:20:29 2017

Remove GC_PLUGIN_IGNORE for fixed bug from Blink's v8 serialization code.

BUG= 644725 

Change-Id: I37cefb2eedbf8d1771413eb0b5f70370ed7de9dd
Reviewed-on: https://chromium-review.googlesource.com/531671
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478816}
[modify] https://crrev.com/d73ae5a93f4bc96f55a8e5b1a9d4b2c037700475/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h
[modify] https://crrev.com/d73ae5a93f4bc96f55a8e5b1a9d4b2c037700475/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h

Sign in to add a comment