Revert "[ABI/IRGen] Add custom function parameter flags representation for metadata use"

This reverts commit f6b0d2d2cf.
This commit is contained in:
Pavel Yaskevich
2017-11-07 00:24:21 -08:00
parent 4f354a7f09
commit aa89c4f4a8
14 changed files with 95 additions and 170 deletions

View File

@@ -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));