OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 case READ_LENGTH: GenerateReadLength(masm); break; | 475 case READ_LENGTH: GenerateReadLength(masm); break; |
476 case READ_ELEMENT: GenerateReadElement(masm); break; | 476 case READ_ELEMENT: GenerateReadElement(masm); break; |
477 case NEW_OBJECT: GenerateNewObject(masm); break; | 477 case NEW_OBJECT: GenerateNewObject(masm); break; |
478 } | 478 } |
479 } | 479 } |
480 | 480 |
481 | 481 |
482 int CEntryStub::MinorKey() { | 482 int CEntryStub::MinorKey() { |
483 ASSERT(result_size_ <= 2); | 483 ASSERT(result_size_ <= 2); |
484 #ifdef _WIN64 | 484 #ifdef _WIN64 |
485 const indirect_result = result_size_ > 1; | 485 return ExitFrameModeBits::encode(mode_) |
| 486 | IndirectResultBits::encode(result_size_ > 1); |
486 #else | 487 #else |
487 const bool indirect_result = false; | 488 return ExitFrameModeBits::encode(mode_); |
488 #endif | 489 #endif |
489 | |
490 return ExitFrameModeBits::encode(mode_) | |
491 | IndirectResultBits::encode(indirect_result > 1); | |
492 } | 490 } |
493 | 491 |
494 | 492 |
495 bool ApiGetterEntryStub::GetCustomCache(Code** code_out) { | 493 bool ApiGetterEntryStub::GetCustomCache(Code** code_out) { |
496 Object* cache = info()->load_stub_cache(); | 494 Object* cache = info()->load_stub_cache(); |
497 if (cache->IsUndefined()) { | 495 if (cache->IsUndefined()) { |
498 return false; | 496 return false; |
499 } else { | 497 } else { |
500 *code_out = Code::cast(cache); | 498 *code_out = Code::cast(cache); |
501 return true; | 499 return true; |
502 } | 500 } |
503 } | 501 } |
504 | 502 |
505 | 503 |
506 void ApiGetterEntryStub::SetCustomCache(Code* value) { | 504 void ApiGetterEntryStub::SetCustomCache(Code* value) { |
507 info()->set_load_stub_cache(value); | 505 info()->set_load_stub_cache(value); |
508 } | 506 } |
509 | 507 |
510 | 508 |
511 void DebugerStatementStub::Generate(MacroAssembler* masm) { | 509 void DebuggerStatementStub::Generate(MacroAssembler* masm) { |
512 Runtime::Function* f = Runtime::FunctionForId(Runtime::kDebugBreak); | 510 Runtime::Function* f = Runtime::FunctionForId(Runtime::kDebugBreak); |
513 masm->TailCallRuntime(ExternalReference(f), 0, f->result_size); | 511 masm->TailCallRuntime(ExternalReference(f), 0, f->result_size); |
514 } | 512 } |
515 | 513 |
516 | 514 |
517 } } // namespace v8::internal | 515 } } // namespace v8::internal |
OLD | NEW |