Remove tebbi from OWNERS and TODOs

OWNERS files: removed tebbi's entry.
TODOs: replaced with 'turbofan'.

Change-Id: Ib7a90418b394f123b82051379f120f0323d04097
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639757
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72223}
This commit is contained in:
Jakob Gruber 2021-01-21 12:30:51 +01:00 committed by Commit Bot
parent eacd5a31ba
commit fa6b7a6970
38 changed files with 49 additions and 51 deletions

View File

@ -34,7 +34,6 @@ sigurds@chromium.org
solanes@chromium.org
syg@chromium.org
szuend@chromium.org
tebbi@chromium.org
thibaudm@chromium.org
ulan@chromium.org
vahl@chromium.org

View File

@ -163,7 +163,7 @@ struct Buffer {
const nofSeparatorsInt: intptr = nofSeparators;
const sepsLen: intptr = separatorLength * nofSeparatorsInt;
// Detect integer overflow
// TODO(tebbi): Replace with overflow-checked multiplication.
// TODO(turbofan): Replace with overflow-checked multiplication.
if (sepsLen / separatorLength != nofSeparatorsInt) deferred {
ThrowInvalidStringLength(context);
}

View File

@ -66,7 +66,7 @@ macro HandleFastAliasedSloppyArgumentsSlice(
unmappedElements.objects[current]);
// It is safe to skip the write barrier here because resultElements was
// allocated together with result in a folded allocation.
// TODO(tebbi): The verification of this fails at the moment due to
// TODO(turbofan): The verification of this fails at the moment due to
// missing load elimination.
StoreFixedArrayElement(
resultElements, indexOut++, newElement, UNSAFE_SKIP_WRITE_BARRIER);

View File

@ -70,9 +70,9 @@ macro WeakToStrong<T: type>(x: Weak<T>): T labels ClearedWeakPointer {
// Doesn't include PrivateSymbol.
type PropertyKey = String|PublicSymbol;
// TODO(tebbi): PrivateSymbol is only exposed to JavaScript through the debugger
// API. We should reconsider this and try not to expose it at all. Then JSAny
// would not need to contain it.
// TODO(turbofan): PrivateSymbol is only exposed to JavaScript through the
// debugger API. We should reconsider this and try not to expose it at all. Then
// JSAny would not need to contain it.
// A JavaScript primitive value as defined in
// https://tc39.es/ecma262/#sec-primitive-value.
@ -1301,7 +1301,7 @@ macro CheckIntegerIndexAdditionOverflow(
}
}
// TODO(tebbi): Define enum here once they appear in Torque.
// TODO(turbofan): Define enum here once they appear in Torque.
//
// The value is a SafeInteger that fits into uintptr range, so no bounds checks
// are necessary.

View File

@ -178,7 +178,7 @@ void ArrayBuiltinsAssembler::GenerateIteratingTypedArrayBuiltinBody(
BIND(&*it);
Label done(this);
source_elements_kind_ = static_cast<ElementsKind>(elements_kinds[i]);
// TODO(tebbi): Silently cancelling the loop on buffer detachment is a
// TODO(turbofan): Silently cancelling the loop on buffer detachment is a
// spec violation. Should go to &throw_detached and throw a TypeError
// instead.
VisitAllTypedArrayElements(array_buffer, processor, &done, direction,

View File

@ -119,7 +119,8 @@ TNode<JSRegExpResult> RegExpBuiltinsAssembler::AllocateRegExpResult(
CodeAssembler::LoadRoot(RootIndex::kUndefinedValue));
StoreObjectFieldNoWriteBarrier(result, JSRegExpResult::kIndexOffset, index);
// TODO(jgruber,tebbi): Could skip barrier but the MemoryOptimizer complains.
// TODO(jgruber,turbofan): Could skip barrier but the MemoryOptimizer
// complains.
StoreObjectField(result, JSRegExpResult::kInputOffset, input);
StoreObjectFieldNoWriteBarrier(result, JSRegExpResult::kGroupsOffset,
undefined_value);

View File

@ -258,7 +258,7 @@ Cast<Boolean>(o: HeapObject): Boolean labels CastError {
return Cast<Boolean>(o) otherwise CastError;
}
// TODO(tebbi): These trivial casts for union types should be generated
// TODO(turbofan): These trivial casts for union types should be generated
// automatically.
Cast<JSPrimitive>(o: Object): JSPrimitive labels CastError {

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// TODO(tebbi): This could be replaced with a fast C-call to
// TODO(turbofan): This could be replaced with a fast C-call to
// CompareCharsUnsigned.
macro IsSubstringAt<A: type, B: type>(
string: ConstSlice<A>, searchStr: ConstSlice<B>, start: intptr): bool {

View File

@ -12,7 +12,7 @@ extern macro StringBuiltinsAssembler::GetSubstitution(
extern builtin
StringIndexOf(implicit context: Context)(String, String, Smi): Smi;
// TODO(tebbi): This could be replaced with a fast C-call to StringSearchRaw.
// TODO(turbofan): This could be replaced with a fast C-call to StringSearchRaw.
macro AbstractStringIndexOf<A: type, B: type>(
string: ConstSlice<A>, searchString: ConstSlice<B>, fromIndex: Smi): Smi {
for (let i: intptr = SmiUntag(fromIndex);

View File

@ -14,6 +14,5 @@ neis@chromium.org
rmcilroy@chromium.org
sigurds@chromium.org
solanes@chromium.org
tebbi@chromium.org
titzer@chromium.org
mythria@chromium.org

View File

@ -368,7 +368,7 @@ class TNode {
// SloppyTNode<T> is a variant of TNode<T> and allows implicit casts from
// Node*. It is intended for function arguments as long as some call sites
// still use untyped Node* arguments.
// TODO(tebbi): Delete this class once transition is finished.
// TODO(turbofan): Delete this class once transition is finished.
template <class T>
class SloppyTNode : public TNode<T> {
public:

View File

@ -3249,7 +3249,7 @@ void TurboAssembler::ComputeCodeStartAddress(Register dst) {
}
void TurboAssembler::ResetSpeculationPoisonRegister() {
// TODO(tebbi): Perhaps, we want to put an lfence here.
// TODO(turbofan): Perhaps, we want to put an lfence here.
Set(kSpeculationPoisonRegister, -1);
}

View File

@ -1,7 +1,6 @@
bmeurer@chromium.org
danno@chromium.org
sigurds@chromium.org
tebbi@chromium.org
neis@chromium.org
mvstanton@chromium.org
mslekova@chromium.org

View File

@ -1048,7 +1048,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
__ RequiredStackSizeForCallerSaved(fp_mode_, kReturnRegister0);
frame_access_state()->IncreaseSPDelta(bytes / kSystemPointerSize);
}
// TODO(tebbi): Do we need an lfence here?
// TODO(turbofan): Do we need an lfence here?
break;
}
case kArchJmp:

View File

@ -133,7 +133,7 @@ class VariableTracker {
Maybe<Node*> Get(Variable var) {
Node* node = current_state_.Get(var);
if (node && node->opcode() == IrOpcode::kDead) {
// TODO(tebbi): We use {Dead} as a sentinel for uninitialized memory.
// TODO(turbofan): We use {Dead} as a sentinel for uninitialized memory.
// Reading uninitialized memory can only happen in unreachable code. In
// this case, we have to mark the object as escaping to avoid dead nodes
// in the graph. This is a workaround that should be removed once we can
@ -479,8 +479,8 @@ VariableTracker::State VariableTracker::MergeInputs(Node* effect_phi) {
Node* phi = graph_->graph()->NewNode(
graph_->common()->Phi(MachineRepresentation::kTagged, arity),
arity + 1, &buffer_.front());
// TODO(tebbi): Computing precise types here is tricky, because of
// the necessary revisitations. If we really need this, we should
// TODO(turbofan): Computing precise types here is tricky, because
// of the necessary revisitations. If we really need this, we should
// probably do it afterwards.
NodeProperties::SetType(phi, Type::Any());
reducer_->AddRoot(phi);
@ -711,7 +711,7 @@ void ReduceNode(const Operator* op, EscapeAnalysisTracker::Scope* current,
} else if (right_object && !right_object->HasEscaped()) {
replacement = jsgraph->FalseConstant();
}
// TODO(tebbi) This is a workaround for uninhabited types. If we
// TODO(turbofan) This is a workaround for uninhabited types. If we
// replaced a value of uninhabited type with a constant, we would
// widen the type of the node. This could produce inconsistent
// types (which might confuse representation selection). We get

View File

@ -131,7 +131,7 @@ class VirtualObject : public Dependable {
CHECK(IsAligned(offset, kTaggedSize));
CHECK(!HasEscaped());
if (offset >= size()) {
// TODO(tebbi): Reading out-of-bounds can only happen in unreachable
// TODO(turbofan): Reading out-of-bounds can only happen in unreachable
// code. In this case, we have to mark the object as escaping to avoid
// dead nodes in the graph. This is a workaround that should be removed
// once we can handle dead nodes everywhere.

View File

@ -16,7 +16,7 @@ namespace compiler {
// results in an O(1) copy operation. It is the equivalent of functional lists
// in ML-like languages, with the only difference that it also caches the length
// of the list in each node.
// TODO(tebbi): Use this implementation also for RedundancyElimination.
// TODO(turbofan): Use this implementation also for RedundancyElimination.
template <class A>
class FunctionalList {
private:

View File

@ -5339,7 +5339,7 @@ Reduction JSCallReducer::ReduceArrayPrototypePop(Node* node) {
Node* efalse = effect;
Node* vfalse;
{
// TODO(tebbi): We should trim the backing store if the capacity is too
// TODO(turbofan): We should trim the backing store if the capacity is too
// big, as implemented in elements.cc:ElementsAccessorBase::SetLengthImpl.
// Load the elements backing store from the {receiver}.

View File

@ -1081,8 +1081,9 @@ Reduction LoadElimination::ReduceLoadElement(Node* node) {
// Make sure we don't resurrect dead {replacement} nodes.
// Skip lowering if the type of the {replacement} node is not a subtype
// of the original {node}'s type.
// TODO(tebbi): We should insert a {TypeGuard} for the intersection of
// these two types here once we properly handle {Type::None} everywhere.
// TODO(turbofan): We should insert a {TypeGuard} for the intersection
// of these two types here once we properly handle {Type::None}
// everywhere.
if (!replacement->IsDead() && NodeProperties::GetType(replacement)
.Is(NodeProperties::GetType(node))) {
ReplaceWithValue(node, replacement, effect);

View File

@ -977,7 +977,7 @@ class MachineRepresentationChecker {
return IsAnyCompressed(actual);
case MachineRepresentation::kTaggedSigned:
case MachineRepresentation::kTaggedPointer:
// TODO(tebbi): At the moment, the machine graph doesn't contain
// TODO(turbofan): At the moment, the machine graph doesn't contain
// reliable information if a node is kTaggedSigned, kTaggedPointer or
// kTagged, and often this is context-dependent. We should at least
// check for obvious violations: kTaggedSigned where we expect

View File

@ -41,7 +41,7 @@ bool CanAllocate(const Node* node) {
case IrOpcode::kRetain:
case IrOpcode::kStackPointerGreaterThan:
case IrOpcode::kStaticAssert:
// TODO(tebbi): Store nodes might do a bump-pointer allocation.
// TODO(turbofan): Store nodes might do a bump-pointer allocation.
// We should introduce a special bump-pointer store node to
// differentiate that.
case IrOpcode::kStore:

View File

@ -309,7 +309,7 @@ struct BinopMatcher : public NodeMatcher {
protected:
void SwapInputs() {
std::swap(left_, right_);
// TODO(tebbi): This modification should notify the reducers using
// TODO(turbofan): This modification should notify the reducers using
// BinopMatcher. Alternatively, all reducers (especially value numbering)
// could ignore the ordering for commutative binops.
node()->ReplaceInput(0, left().node());

View File

@ -28,8 +28,8 @@ namespace compiler {
// - iteration: amortized O(1) per step
// - Zip: O(n)
// - equality check: O(n)
// TODO(tebbi): Cache map transitions to avoid re-allocation of the same map.
// TODO(tebbi): Implement an O(1) equality check based on hash consing or
// TODO(turbofan): Cache map transitions to avoid re-allocation of the same map.
// TODO(turbofan): Implement an O(1) equality check based on hash consing or
// something similar.
template <class Key, class Value, class Hasher = base::hash<Key>>
class PersistentMap {

View File

@ -1698,7 +1698,8 @@ struct EscapeAnalysisPhase {
UnparkedScopeIfNeeded scope(data->broker());
reducer.ReduceGraph();
// TODO(tebbi): Turn this into a debug mode check once we have confidence.
// TODO(turbofan): Turn this into a debug mode check once we have
// confidence.
escape_reducer.VerifyReplacement();
}
};

View File

@ -1053,7 +1053,7 @@ class V8_EXPORT_PRIVATE RawMachineAssembler {
// A post-processing pass to add effect and control edges so that the graph
// can be optimized and re-scheduled.
// TODO(tebbi): Move this to a separate class.
// TODO(turbofan): Move this to a separate class.
void MakeReschedulable();
Node* CreateNodeFromPredecessors(const std::vector<BasicBlock*>& predecessors,
const std::vector<Node*>& sidetable,

View File

@ -764,7 +764,7 @@ class RepresentationSelector {
DCHECK(TypeOf(node).IsNone());
// If the node is unreachable, insert an Unreachable node and mark the
// value dead.
// TODO(jarin,tebbi) Find a way to unify/merge this insertion with
// TODO(jarin,turbofan) Find a way to unify/merge this insertion with
// InsertUnreachableIfNecessary.
Node* unreachable = effect =
graph()->NewNode(jsgraph_->common()->Unreachable(), effect, control);

View File

@ -2,4 +2,3 @@ jgruber@chromium.org
neis@chromium.org
nicohartmann@chromium.org
sigurds@chromium.org
tebbi@chromium.org

View File

@ -912,18 +912,18 @@ void GlobalDictionary::GlobalDictionaryPrint(std::ostream& os) {
void SmallOrderedHashSet::SmallOrderedHashSetPrint(std::ostream& os) {
PrintHeader(os, "SmallOrderedHashSet");
// TODO(tebbi): Print all fields.
// TODO(turbofan): Print all fields.
}
void SmallOrderedHashMap::SmallOrderedHashMapPrint(std::ostream& os) {
PrintHeader(os, "SmallOrderedHashMap");
// TODO(tebbi): Print all fields.
// TODO(turbofan): Print all fields.
}
void SmallOrderedNameDictionary::SmallOrderedNameDictionaryPrint(
std::ostream& os) {
PrintHeader(os, "SmallOrderedNameDictionary");
// TODO(tebbi): Print all fields.
// TODO(turbofan): Print all fields.
}
void OrderedHashSet::OrderedHashSetPrint(std::ostream& os) {

View File

@ -4468,7 +4468,7 @@ void BytecodeGenerator::VisitYieldStar(YieldStar* expr) {
.SwitchOnSmiNoFeedback(switch_jump_table);
// Fallthrough to default case.
// TODO(tebbi): Add debug code to check that {resume_mode} really is
// TODO(ignition): Add debug code to check that {resume_mode} really is
// {JSGeneratorObject::kNext} in this case.
STATIC_ASSERT(JSGeneratorObject::kNext == 0);
{

View File

@ -125,7 +125,7 @@ extern macro CopyFixedArrayElements(
macro ExtractFixedArray(
source: FixedArray, first: intptr, count: intptr,
capacity: intptr): FixedArray {
// TODO(tebbi): This should be optimized to use memcpy for initialization.
// TODO(turbofan): This should be optimized to use memcpy for initialization.
return NewFixedArray(
capacity,
IteratorSequence<Object>(
@ -135,7 +135,7 @@ macro ExtractFixedArray(
macro ExtractFixedDoubleArray(
source: FixedDoubleArray, first: intptr, count: intptr,
capacity: intptr): FixedDoubleArray|EmptyFixedArray {
// TODO(tebbi): This should be optimized to use memcpy for initialization.
// TODO(turbofan): This should be optimized to use memcpy for initialization.
return NewFixedDoubleArray(
capacity,
IteratorSequence<float64_or_hole>(

View File

@ -1092,7 +1092,8 @@ ReturnType BodyDescriptorApply(InstanceType type, T1 p1, T2 p2, T3 p3, T4 p4) {
case SYNTHETIC_MODULE_TYPE:
return Op::template apply<SyntheticModule::BodyDescriptor>(p1, p2, p3,
p4);
// TODO(tebbi): Avoid duplicated cases when the body descriptors are identical.
// TODO(turbofan): Avoid duplicated cases when the body descriptors are
// identical.
#define MAKE_TORQUE_BODY_DESCRIPTOR_APPLY(TYPE, TypeName) \
case TYPE: \
return Op::template apply<TypeName::BodyDescriptor>(p1, p2, p3, p4);

View File

@ -1,3 +1,2 @@
mvstanton@chromium.org
nicohartmann@chromium.org
tebbi@chromium.org

View File

@ -102,7 +102,7 @@ void CSAGenerator::EmitSourcePosition(SourcePosition pos, bool always_emit) {
void CSAGenerator::EmitInstruction(
const PushUninitializedInstruction& instruction,
Stack<std::string>* stack) {
// TODO(tebbi): This can trigger an error in CSA if it is used. Instead, we
// TODO(turbofan): This can trigger an error in CSA if it is used. Instead, we
// should prevent usage of uninitialized in the type system. This
// requires "if constexpr" being evaluated at Torque time.
const std::string str = "ca_.Uninitialized<" +

View File

@ -2848,7 +2848,7 @@ VisitResult ImplementationVisitor::GenerateCall(
} else {
size_t slot_count = LoweredSlotCount(return_type);
DCHECK_LE(slot_count, 1);
// TODO(tebbi): Actually, runtime functions have to return a value, so
// TODO(turbofan): Actually, runtime functions have to return a value, so
// we should assert slot_count == 1 here.
return VisitResult(return_type, assembler().TopRange(slot_count));
}
@ -4479,7 +4479,7 @@ void GeneratePrintDefinitionsForClass(std::ostream& impl, const ClassType* type,
!f.name_and_type.type->IsSubtypeOf(TypeOracle::GetTaggedType())) {
impl << " os << \"\\n - " << f.name_and_type.name << ": \" << ";
if (f.name_and_type.type->StructSupertype()) {
// TODO(tebbi): Print struct fields too.
// TODO(turbofan): Print struct fields too.
impl << "\" <struct field printing still unimplemented>\";\n";
} else {
impl << "this->" << f.name_and_type.name << "();\n";

View File

@ -423,8 +423,8 @@ void CallBuiltinPointerInstruction::TypeInstruction(
ReportError("wrong argument types");
}
DCHECK_EQ(type, f);
// TODO(tebbi): Only invalidate transient types if the function pointer type
// is transitioning.
// TODO(turbofan): Only invalidate transient types if the function pointer
// type is transitioning.
InvalidateTransientTypes(stack);
stack->PushMany(LowerType(f->return_type()));
}

View File

@ -1830,7 +1830,7 @@ base::Optional<ParseResult> MakeAssignmentExpression(
base::Optional<ParseResult> MakeNumberLiteralExpression(
ParseResultIterator* child_results) {
auto number = child_results->NextAs<std::string>();
// TODO(tebbi): Support 64bit literals.
// TODO(turbofan): Support 64bit literals.
// Meanwhile, we type it as constexpr float64 when out of int32 range.
double value = 0;
try {

View File

@ -757,7 +757,7 @@ class ClassType final : public AggregateType {
SourcePosition GetPosition() const { return decl_->pos; }
SourceId AttributedToFile() const;
// TODO(tebbi): We should no longer pass around types as const pointers, so
// TODO(turbofan): We should no longer pass around types as const pointers, so
// that we can avoid mutable fields and const initializers for
// late-initialized portions of types like this one.
void InitializeInstanceTypes(base::Optional<int> own,

View File

@ -1,3 +1,2 @@
jgruber@chromium.org
szuend@chromium.org
tebbi@chromium.org