Index: src/mips/stub-cache-mips.cc |
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc |
index 471c25ef824d2fa59671642a4713f19cdcc49618..d81bd75cf65a213978a26cd78de891f209d77dc2 100644 |
--- a/src/mips/stub-cache-mips.cc |
+++ b/src/mips/stub-cache-mips.cc |
@@ -117,18 +117,14 @@ static void ProbeTable(Isolate* isolate, |
} |
-// 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 scratch0, |
- Register scratch1) { |
+void StubCompiler::GenerateDictionaryNegativeLookup(MacroAssembler* masm, |
+ Label* miss_label, |
+ Register receiver, |
+ Handle<Name> name, |
+ Register scratch0, |
+ Register scratch1) { |
ASSERT(name->IsUniqueName()); |
+ ASSERT(!receiver.is(scratch0)); |
Counters* counters = masm->isolate()->counters(); |
__ IncrementCounter(counters->negative_lookups(), 1, scratch0, scratch1); |
__ IncrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); |
@@ -408,14 +404,11 @@ void StubCompiler::GenerateLoadFunctionPrototype(MacroAssembler* masm, |
} |
-// 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) { |
+void StubCompiler::GenerateCheckPropertyCell(MacroAssembler* masm, |
+ Handle<GlobalObject> global, |
+ Handle<Name> name, |
+ Register scratch, |
+ Label* miss) { |
Handle<Cell> cell = GlobalObject::EnsurePropertyCell(global, name); |
ASSERT(cell->value()->IsTheHole()); |
__ li(scratch, Operand(cell)); |
@@ -1149,14 +1142,12 @@ class CallInterceptorCompiler BASE_EMBEDDED { |
}; |
-// 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) { |
+void StubCompiler::GenerateCheckPropertyCells(MacroAssembler* masm, |
+ Handle<JSObject> object, |
+ Handle<JSObject> holder, |
+ Handle<Name> name, |
+ Register scratch, |
+ Label* miss) { |
Handle<JSObject> current = object; |
while (!current.is_identical_to(holder)) { |
if (current->IsGlobalObject()) { |
@@ -1364,26 +1355,6 @@ Register LoadStubCompiler::CallbackHandlerFrontend( |
} |
-void LoadStubCompiler::NonexistentHandlerFrontend( |
- Handle<JSObject> object, |
- Handle<JSObject> last, |
- Handle<Name> name, |
- Label* success, |
- Handle<GlobalObject> global) { |
- Label miss; |
- |
- HandlerFrontendHeader(object, receiver(), last, name, &miss); |
- |
- // If the last object in the prototype chain is a global object, |
- // check that the global property cell is empty. |
- if (!global.is_null()) { |
- GenerateCheckPropertyCell(masm(), global, name, scratch2(), &miss); |
- } |
- |
- HandlerFrontendFooter(name, success, &miss); |
-} |
- |
- |
void LoadStubCompiler::GenerateLoadField(Register reg, |
Handle<JSObject> holder, |
PropertyIndex field, |