diff options
| author | Ben Murdoch <benm@google.com> | 2011-05-13 15:57:08 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2011-05-13 15:57:08 +0100 |
| commit | 086aeeaae12517475c22695a200be45495516549 (patch) | |
| tree | 782a4243c07c2b9019a2f1aa565a3e4b90ad8e9c /src/code-stubs.cc | |
| parent | 9fac840a46e8b7e26894f4792ba26dde14c56b04 (diff) | |
| download | android_external_v8-086aeeaae12517475c22695a200be45495516549.tar.gz android_external_v8-086aeeaae12517475c22695a200be45495516549.tar.bz2 android_external_v8-086aeeaae12517475c22695a200be45495516549.zip | |
Update V8 to r6238 as required by WebKit r75993
Change-Id: I12f638fcdd02d9102abab17d81c23cde63c08f22
Diffstat (limited to 'src/code-stubs.cc')
| -rw-r--r-- | src/code-stubs.cc | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/code-stubs.cc b/src/code-stubs.cc index 1b0d8b0b..ba027e93 100644 --- a/src/code-stubs.cc +++ b/src/code-stubs.cc @@ -49,8 +49,10 @@ bool CodeStub::FindCodeInCache(Code** code_out) { 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,34 @@ void ICCompareStub::Generate(MacroAssembler* masm) { } +const char* InstanceofStub::GetName() { + if (name_ != NULL) return name_; + const int kMaxNameLength = 100; + name_ = 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 |
