OpenJDK / portola / portola
changeset 53248:df6cbf676c70
8215708: ZGC: Add missing LoadBarrierNode::size_of()
Reviewed-by: eosterlund, neliasso
author | pliden |
---|---|
date | Wed, 09 Jan 2019 13:31:34 +0100 |
parents | 8be214962266 |
children | bae765528fcc |
files | src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp |
diffstat | 2 files changed, 25 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Wed Dec 19 11:45:54 2018 +0000 +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Wed Jan 09 13:31:34 2019 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -189,6 +189,15 @@ bs->register_potential_barrier_node(this); } +uint LoadBarrierNode::size_of() const { + return sizeof(*this); +} + +uint LoadBarrierNode::cmp(const Node& n) const { + ShouldNotReachHere(); + return 0; +} + const Type *LoadBarrierNode::bottom_type() const { const Type** floadbarrier = (const Type **)(Compile::current()->type_arena()->Amalloc_4((Number_of_Outputs)*sizeof(Type*))); Node* in_oop = in(Oop); @@ -198,6 +207,11 @@ return TypeTuple::make(Number_of_Outputs, floadbarrier); } +const TypePtr* LoadBarrierNode::adr_type() const { + ShouldNotReachHere(); + return NULL; +} + const Type *LoadBarrierNode::Value(PhaseGVN *phase) const { const Type** floadbarrier = (const Type **)(phase->C->type_arena()->Amalloc_4((Number_of_Outputs)*sizeof(Type*))); const Type* val_t = phase->type(in(Oop)); @@ -441,6 +455,11 @@ return NULL; } +uint LoadBarrierNode::match_edge(uint idx) const { + ShouldNotReachHere(); + return 0; +} + void LoadBarrierNode::fix_similar_in_uses(PhaseIterGVN* igvn) { Node* out_res = proj_out_or_null(Oop); if (out_res == NULL) {
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Wed Dec 19 11:45:54 2018 +0000 +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Wed Jan 09 13:31:34 2019 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,10 +62,14 @@ bool oop_reload_allowed); virtual int Opcode() const; + virtual uint size_of() const; + virtual uint cmp(const Node& n) const; virtual const Type *bottom_type() const; + virtual const TypePtr* adr_type() const; virtual const Type *Value(PhaseGVN *phase) const; virtual Node *Identity(PhaseGVN *phase); virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); + virtual uint match_edge(uint idx) const; LoadBarrierNode* has_dominating_barrier(PhaseIdealLoop* phase, bool linear_only,