Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Unified Diff: src/code-stub-assembler.h

Issue 2645743002: [builtins] Port parameter and argument-related code stubs to CSA (Closed)
Patch Set: Review feedback Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stub-assembler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stub-assembler.h
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
index 38119829053c8488e84315055574a2892c85e3d0..3c91e7a00e5e15d3c95e081def1330bd002a228c 100644
--- a/src/code-stub-assembler.h
+++ b/src/code-stub-assembler.h
@@ -77,10 +77,13 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
return Is64() ? INTPTR_PARAMETERS : SMI_PARAMETERS;
}
+ MachineRepresentation ParameterRepresentation(ParameterMode mode) const {
+ return mode == INTPTR_PARAMETERS ? MachineType::PointerRepresentation()
+ : MachineRepresentation::kTaggedSigned;
+ }
+
MachineRepresentation OptimalParameterRepresentation() const {
- return OptimalParameterMode() == INTPTR_PARAMETERS
- ? MachineType::PointerRepresentation()
- : MachineRepresentation::kTaggedSigned;
+ return ParameterRepresentation(OptimalParameterMode());
}
Node* ParameterToWord(Node* value, ParameterMode mode) {
@@ -384,6 +387,14 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
Node* LoadMapConstructorFunctionIndex(Node* map);
// Load the constructor of a Map (equivalent to Map::GetConstructor()).
Node* LoadMapConstructor(Node* map);
+ // Loads a value from the specially encoded integer fields in the
+ // SharedFunctionInfo object.
+ // TODO(danno): This currently only works for the integer fields that are
+ // mapped to the upper part of 64-bit words. We should customize
+ // SFI::BodyDescriptor and store int32 values directly.
+ Node* LoadSharedFunctionInfoSpecialField(Node* shared, int offset,
+ ParameterMode param_mode);
+
// Check if the map is set for slow properties.
Node* IsDictionaryMap(Node* map);
@@ -1115,6 +1126,10 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
FixedArray::kHeaderSize);
}
+ void GotoIfFixedArraySizeDoesntFitInNewSpace(Node* element_count,
+ Label* doesnt_fit, int base_size,
+ ParameterMode mode);
+
void InitializeFieldsWithRoot(Node* object, Node* start_offset,
Node* end_offset, Heap::RootListIndex root);
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698