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

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

Issue 1795793002: [compiler] Introduce code stubs for abstract equality. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: instancetype -> instance_type Created 4 years, 9 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-stubs.cc ('k') | src/compiler/code-stub-assembler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/code-stub-assembler.h
diff --git a/src/compiler/code-stub-assembler.h b/src/compiler/code-stub-assembler.h
index 48539d8ac5840f0abb5765b1d168e5366cae6741..0a228ba0d79e0410d215886c42647d017736534e 100644
--- a/src/compiler/code-stub-assembler.h
+++ b/src/compiler/code-stub-assembler.h
@@ -36,6 +36,11 @@ class RawMachineLabel;
class Schedule;
#define CODE_STUB_ASSEMBLER_BINARY_OP_LIST(V) \
+ V(Float32Equal) \
+ V(Float32LessThan) \
+ V(Float32LessThanOrEqual) \
+ V(Float32GreaterThan) \
+ V(Float32GreaterThanOrEqual) \
V(Float64Equal) \
V(Float64LessThan) \
V(Float64LessThanOrEqual) \
@@ -141,6 +146,7 @@ class CodeStubAssembler {
Node* BooleanConstant(bool value);
Node* ExternalConstant(ExternalReference address);
Node* Float64Constant(double value);
+ Node* BooleanMapConstant();
Node* HeapNumberMapConstant();
Node* Parameter(int value);
@@ -267,6 +273,8 @@ class CodeStubAssembler {
Node* LoadObjectField(Node* object, int offset);
// Load the floating point value of a HeapNumber.
Node* LoadHeapNumberValue(Node* object);
+ // Load the bit field of a Map.
+ Node* LoadMapBitField(Node* map);
// Load the instance type of a Map.
Node* LoadMapInstanceType(Node* map);
@@ -281,6 +289,9 @@ class CodeStubAssembler {
// Store an array element to a FixedArray.
Node* StoreFixedArrayElementNoWriteBarrier(Node* object, Node* index,
Node* value);
+ // Load the Map of an HeapObject.
+ Node* LoadMap(Node* object);
+ // Load the instance type of an HeapObject.
Node* LoadInstanceType(Node* object);
// Returns a node that is true if the given bit is set in |word32|.
@@ -309,6 +320,7 @@ class CodeStubAssembler {
void BranchIfFloat64IsNaN(Node* value, Label* if_true, Label* if_false) {
BranchIfFloat64Equal(value, value, if_false, if_true);
}
+ void BranchIfWord32Equal(Node* a, Node* b, Label* if_true, Label* if_false);
// Helpers which delegate to RawMachineAssembler.
Factory* factory() const;
« no previous file with comments | « src/code-stubs.cc ('k') | src/compiler/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698