Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index 004e067c82573d8516bb298ec28e4dd7284cbe43..afb65a050703c7c747bced9485036391d44fccf4 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -121,18 +121,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); |
@@ -418,11 +414,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()); |
__ mov(scratch, Operand(cell)); |
@@ -1156,14 +1152,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()) { |
@@ -1373,26 +1367,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, |