Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index c00719969147a033e801f33d3bb691d0d959b80c..53c36845f22bfdc98f61394c9b8b02cac3d2b126 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -502,6 +502,7 @@ Handle<Code> TurboFanCodeStub::GenerateCode() { |
// Build a "hybrid" CompilationInfo for a JSFunction/CodeStub pair. |
ParseInfo parse_info(&zone, inner); |
CompilationInfo info(&parse_info); |
+ info.SetFunctionType(GetCallInterfaceDescriptor().GetFunctionType()); |
info.SetStub(this); |
return info.GenerateCodeStub(); |
} |
@@ -1046,5 +1047,20 @@ InternalArrayConstructorStub::InternalArrayConstructorStub( |
} |
+Representation RepresentationFromType(Type* type) { |
Benedikt Meurer
2015/06/22 05:27:28
So UntaggedFloat64 and UntaggedFloat32 are mapped
Jarin
2015/06/22 06:51:29
I would slightly prefer if handled only the cases
danno
2015/06/23 14:39:44
Done.
danno
2015/06/23 14:39:44
I think I prefer Jaro's suggestion for now, since
|
+ if (type->Is(Type::UntaggedSigned()) || type->Is(Type::UntaggedUnsigned())) { |
+ return Representation::Integer32(); |
+ } |
+ |
+ if (type->Is(Type::TaggedSigned())) { |
+ return Representation::Smi(); |
+ } |
+ |
+ if (type->Is(Type::UntaggedPointer())) { |
+ return Representation::External(); |
+ } |
+ |
+ return Representation::Tagged(); |
+} |
} // namespace internal |
} // namespace v8 |