| Index: src/code-stubs.cc
|
| ===================================================================
|
| --- src/code-stubs.cc (revision 6941)
|
| +++ src/code-stubs.cc (working copy)
|
| @@ -49,8 +49,10 @@
|
| void CodeStub::GenerateCode(MacroAssembler* masm) {
|
| // Update the static counter each time a new code stub is generated.
|
| COUNTERS->code_stubs()->Increment();
|
| +
|
| // Nested stubs are not allowed for leafs.
|
| - masm->set_allow_stub_calls(AllowsStubCalls());
|
| + AllowStubCallsScope allow_scope(masm, AllowsStubCalls());
|
| +
|
| // Generate the code for the stub.
|
| masm->set_generating_stub(true);
|
| Generate(masm);
|
| @@ -197,4 +199,35 @@
|
| }
|
|
|
|
|
| +const char* InstanceofStub::GetName() {
|
| + if (name_ != NULL) return name_;
|
| + const int kMaxNameLength = 100;
|
| + name_ = Isolate::Current()->bootstrapper()->AllocateAutoDeletedArray(
|
| + kMaxNameLength);
|
| + if (name_ == NULL) return "OOM";
|
| +
|
| + const char* args = "";
|
| + if (HasArgsInRegisters()) {
|
| + args = "_REGS";
|
| + }
|
| +
|
| + const char* inline_check = "";
|
| + if (HasCallSiteInlineCheck()) {
|
| + inline_check = "_INLINE";
|
| + }
|
| +
|
| + const char* return_true_false_object = "";
|
| + if (ReturnTrueFalseObject()) {
|
| + return_true_false_object = "_TRUEFALSE";
|
| + }
|
| +
|
| + OS::SNPrintF(Vector<char>(name_, kMaxNameLength),
|
| + "InstanceofStub%s%s%s",
|
| + args,
|
| + inline_check,
|
| + return_true_false_object);
|
| + return name_;
|
| +}
|
| +
|
| +
|
| } } // namespace v8::internal
|
|
|