Index: src/stub-cache.h |
diff --git a/src/stub-cache.h b/src/stub-cache.h |
index 38bc7a3c3a6fff69ccaddde91bdca75cf019bb49..c481cc684fea20c44115317adf97fede89066112 100644 |
--- a/src/stub-cache.h |
+++ b/src/stub-cache.h |
@@ -434,6 +434,18 @@ class StubCompiler BASE_EMBEDDED { |
int index, |
Register prototype); |
+ // Helper function used to check that the dictionary doesn't contain |
+ // the property. This function may return false negatives, so miss_label |
+ // must always call a backup property check that is complete. |
+ // This function is safe to call if the receiver has fast properties. |
+ // Name must be unique and receiver must be a heap object. |
+ static void GenerateDictionaryNegativeLookup(MacroAssembler* masm, |
+ Label* miss_label, |
+ Register receiver, |
+ Handle<Name> name, |
+ Register r0, |
+ Register r1); |
+ |
// Generates prototype loading code that uses the objects from the |
// context we were in when this function was called. If the context |
// has changed, a jump to miss is performed. This ties the generated |
@@ -469,6 +481,24 @@ class StubCompiler BASE_EMBEDDED { |
Register scratch2, |
Label* miss_label); |
+ // Generate code to check that a global property cell is empty. Create |
+ // the property cell at compilation time if no cell exists for the |
+ // property. |
+ static void GenerateCheckPropertyCell(MacroAssembler* masm, |
+ Handle<GlobalObject> global, |
+ Handle<Name> name, |
+ Register scratch, |
+ Label* miss); |
+ |
+ // Calls GenerateCheckPropertyCell for each global object in the prototype |
+ // chain from object to (but not including) holder. |
+ static void GenerateCheckPropertyCells(MacroAssembler* masm, |
+ Handle<JSObject> object, |
+ Handle<JSObject> holder, |
+ Handle<Name> name, |
+ Register scratch, |
+ Label* miss); |
+ |
static void TailCallBuiltin(MacroAssembler* masm, Builtins::Name name); |
// Generates code that verifies that the property holder has not changed |