[compiler] Remove obsolete methods from BytecodeArrayRef
Bug: v8:7790 Change-Id: Iae4374e352aea0169d4fe1eba5d825c16efe3940 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715198 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72999}
This commit is contained in:
parent
895748e6c2
commit
8cc862ed79
@ -805,26 +805,19 @@ class BytecodeArrayRef : public FixedArrayBaseRef {
|
||||
|
||||
Handle<BytecodeArray> object() const;
|
||||
|
||||
// NOTE: Concurrent reads of the actual bytecodes as well as the constant pool
|
||||
// (both immutable) do not go through BytecodeArrayRef but are performed
|
||||
// directly through the handle by BytecodeArrayAccessor.
|
||||
|
||||
int register_count() const;
|
||||
int parameter_count() const;
|
||||
interpreter::Register incoming_new_target_or_generator_register() const;
|
||||
|
||||
// Bytecode access methods.
|
||||
uint8_t get(int index) const;
|
||||
Address GetFirstBytecodeAddress() const;
|
||||
|
||||
Handle<ByteArray> SourcePositionTable() const;
|
||||
|
||||
// Constant pool access.
|
||||
Handle<Object> GetConstantAtIndex(int index) const;
|
||||
bool IsConstantAtIndexSmi(int index) const;
|
||||
Smi GetConstantAtIndexAsSmi(int index) const;
|
||||
|
||||
// Exception handler table.
|
||||
Address handler_table_address() const;
|
||||
int handler_table_size() const;
|
||||
|
||||
void SerializeForCompilation();
|
||||
};
|
||||
|
||||
class JSArrayRef : public JSObjectRef {
|
||||
|
@ -1725,51 +1725,18 @@ class BytecodeArrayData : public FixedArrayBaseData {
|
||||
return incoming_new_target_or_generator_register_;
|
||||
}
|
||||
|
||||
Handle<Object> GetConstantAtIndex(int index, Isolate* isolate) const {
|
||||
return constant_pool_[index]->object();
|
||||
}
|
||||
|
||||
bool IsConstantAtIndexSmi(int index) const {
|
||||
return constant_pool_[index]->is_smi();
|
||||
}
|
||||
|
||||
Smi GetConstantAtIndexAsSmi(int index) const {
|
||||
return *(Handle<Smi>::cast(constant_pool_[index]->object()));
|
||||
}
|
||||
|
||||
void SerializeForCompilation(JSHeapBroker* broker) {
|
||||
if (is_serialized_for_compilation_) return;
|
||||
|
||||
// Convenience cast: object() is already a canonical persistent handle.
|
||||
Handle<BytecodeArray> bytecodes = Handle<BytecodeArray>::cast(object());
|
||||
|
||||
DCHECK(constant_pool_.empty());
|
||||
Handle<FixedArray> constant_pool(bytecodes->constant_pool(),
|
||||
broker->isolate());
|
||||
constant_pool_.reserve(constant_pool->length());
|
||||
for (int i = 0; i < constant_pool->length(); i++) {
|
||||
constant_pool_.push_back(broker->GetOrCreateData(constant_pool->get(i)));
|
||||
}
|
||||
|
||||
is_serialized_for_compilation_ = true;
|
||||
}
|
||||
|
||||
BytecodeArrayData(JSHeapBroker* broker, ObjectData** storage,
|
||||
Handle<BytecodeArray> object)
|
||||
: FixedArrayBaseData(broker, storage, object),
|
||||
register_count_(object->register_count()),
|
||||
parameter_count_(object->parameter_count()),
|
||||
incoming_new_target_or_generator_register_(
|
||||
object->incoming_new_target_or_generator_register()),
|
||||
constant_pool_(broker->zone()) {}
|
||||
object->incoming_new_target_or_generator_register()) {}
|
||||
|
||||
private:
|
||||
int const register_count_;
|
||||
int const parameter_count_;
|
||||
interpreter::Register const incoming_new_target_or_generator_register_;
|
||||
|
||||
bool is_serialized_for_compilation_ = false;
|
||||
ZoneVector<ObjectData*> constant_pool_;
|
||||
};
|
||||
|
||||
class JSArrayData : public JSObjectData {
|
||||
@ -3353,40 +3320,6 @@ Float64 FixedDoubleArrayRef::get(int i) const {
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t BytecodeArrayRef::get(int index) const { return object()->get(index); }
|
||||
|
||||
Address BytecodeArrayRef::GetFirstBytecodeAddress() const {
|
||||
return object()->GetFirstBytecodeAddress();
|
||||
}
|
||||
|
||||
Handle<Object> BytecodeArrayRef::GetConstantAtIndex(int index) const {
|
||||
if (data_->should_access_heap()) {
|
||||
return broker()->CanonicalPersistentHandle(
|
||||
object()->constant_pool().get(index));
|
||||
}
|
||||
return data()->AsBytecodeArray()->GetConstantAtIndex(index,
|
||||
broker()->isolate());
|
||||
}
|
||||
|
||||
bool BytecodeArrayRef::IsConstantAtIndexSmi(int index) const {
|
||||
if (data_->should_access_heap()) {
|
||||
return object()->constant_pool().get(index).IsSmi();
|
||||
}
|
||||
return data()->AsBytecodeArray()->IsConstantAtIndexSmi(index);
|
||||
}
|
||||
|
||||
Smi BytecodeArrayRef::GetConstantAtIndexAsSmi(int index) const {
|
||||
if (data_->should_access_heap()) {
|
||||
return Smi::cast(object()->constant_pool().get(index));
|
||||
}
|
||||
return data()->AsBytecodeArray()->GetConstantAtIndexAsSmi(index);
|
||||
}
|
||||
|
||||
void BytecodeArrayRef::SerializeForCompilation() {
|
||||
if (data_->should_access_heap()) return;
|
||||
data()->AsBytecodeArray()->SerializeForCompilation(broker());
|
||||
}
|
||||
|
||||
Handle<ByteArray> BytecodeArrayRef::SourcePositionTable() const {
|
||||
return broker()->CanonicalPersistentHandle(object()->SourcePositionTable());
|
||||
}
|
||||
|
@ -1267,7 +1267,6 @@ Handle<BytecodeArray> SerializerForBackgroundCompilation::bytecode_array()
|
||||
|
||||
void SerializerForBackgroundCompilation::TraverseBytecode() {
|
||||
bytecode_analysis_.emplace(bytecode_array(), zone(), osr_offset(), false);
|
||||
BytecodeArrayRef(broker(), bytecode_array()).SerializeForCompilation();
|
||||
|
||||
BytecodeArrayIterator iterator(bytecode_array());
|
||||
HandlerRangeMatcher try_start_matcher(iterator, bytecode_array());
|
||||
|
Loading…
Reference in New Issue
Block a user