mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Revert "[ABI/IRGen] Add custom function parameter flags representation for metadata use"
This reverts commit f6b0d2d2cf.
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#ifndef SWIFT_REMOTE_METADATAREADER_H
|
||||
#define SWIFT_REMOTE_METADATAREADER_H
|
||||
|
||||
#include "swift/AST/Types.h"
|
||||
#include "swift/Runtime/Metadata.h"
|
||||
#include "swift/Remote/MemoryReader.h"
|
||||
#include "swift/Demangling/Demangler.h"
|
||||
@@ -32,9 +33,9 @@ namespace remote {
|
||||
template <typename BuiltType> class FunctionParam {
|
||||
StringRef Label;
|
||||
BuiltType Type;
|
||||
ParameterFlags Flags;
|
||||
ParameterTypeFlags Flags;
|
||||
|
||||
FunctionParam(StringRef label, BuiltType type, ParameterFlags flags)
|
||||
FunctionParam(StringRef label, BuiltType type, ParameterTypeFlags flags)
|
||||
: Label(label), Type(type), Flags(flags) {}
|
||||
|
||||
public:
|
||||
@@ -44,7 +45,7 @@ public:
|
||||
|
||||
StringRef getLabel() const { return Label; }
|
||||
BuiltType getType() const { return Type; }
|
||||
ParameterFlags getFlags() const { return Flags; }
|
||||
ParameterTypeFlags getFlags() const { return Flags; }
|
||||
|
||||
void setLabel(StringRef label) { Label = label; }
|
||||
void setType(BuiltType type) { Type = type; }
|
||||
@@ -52,7 +53,7 @@ public:
|
||||
void setVariadic() { Flags = Flags.withVariadic(true); }
|
||||
void setShared() { Flags = Flags.withShared(true); }
|
||||
void setInOut() { Flags = Flags.withInOut(true); }
|
||||
void setFlags(ParameterFlags flags) { Flags = flags; };
|
||||
void setFlags(ParameterTypeFlags flags) { Flags = flags; };
|
||||
|
||||
FunctionParam withLabel(StringRef label) const {
|
||||
return FunctionParam(label, Type, Flags);
|
||||
@@ -62,7 +63,7 @@ public:
|
||||
return FunctionParam(Label, type, Flags);
|
||||
}
|
||||
|
||||
FunctionParam withFlags(ParameterFlags flags) const {
|
||||
FunctionParam withFlags(ParameterTypeFlags flags) const {
|
||||
return FunctionParam(Label, Type, flags);
|
||||
}
|
||||
};
|
||||
@@ -804,17 +805,17 @@ public:
|
||||
StoredPointer ArgumentAddress = MetadataAddress +
|
||||
sizeof(TargetFunctionTypeMetadata<Runtime>);
|
||||
StoredPointer ParameterFlagsAddress =
|
||||
ArgumentAddress + (numParameters * sizeof(StoredPointer));
|
||||
ArgumentAddress + (numParameters * sizeof(StoredPointer));
|
||||
|
||||
for (unsigned i = 0; i < numParameters; ++i,
|
||||
ArgumentAddress += sizeof(StoredPointer),
|
||||
ParameterFlagsAddress += sizeof(uint32_t)) {
|
||||
StoredPointer ParamMetadata;
|
||||
for (StoredPointer i = 0; i < numParameters; ++i,
|
||||
ArgumentAddress += sizeof(StoredPointer),
|
||||
ParameterFlagsAddress += sizeof(StoredPointer)) {
|
||||
StoredPointer ParameterAddress;
|
||||
if (!Reader->readInteger(RemoteAddress(ArgumentAddress),
|
||||
&ParamMetadata))
|
||||
&ParameterAddress))
|
||||
return BuiltType();
|
||||
|
||||
if (auto ParamTypeRef = readTypeFromMetadata(ParamMetadata)) {
|
||||
if (auto ParamTypeRef = readTypeFromMetadata(ParameterAddress)) {
|
||||
FunctionParam<BuiltType> Param;
|
||||
Param.setType(ParamTypeRef);
|
||||
|
||||
@@ -823,7 +824,8 @@ public:
|
||||
if (!Reader->readInteger(RemoteAddress(ParameterFlagsAddress),
|
||||
&ParameterFlags))
|
||||
return BuiltType();
|
||||
Param.setFlags(ParameterFlags::fromIntValue(ParameterFlags));
|
||||
|
||||
Param.setFlags(ParameterTypeFlags::fromRaw(ParameterFlags));
|
||||
}
|
||||
|
||||
Parameters.push_back(std::move(Param));
|
||||
|
||||
Reference in New Issue
Block a user