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 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
472 | 472 |
473 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { | 473 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { |
474 switch (type_) { | 474 switch (type_) { |
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() { | |
483 ASSERT(result_size_ <= 2); | |
484 #ifdef _WIN64 | |
485 const indirect_result = result_size_ > 1; | |
William Hesse
2010/02/03 06:18:35
This seems really wrong. Either make the type (in
| |
486 #else | |
487 const bool indirect_result = false; | |
488 #endif | |
489 | |
490 return ExitFrameModeBits::encode(mode_) | |
491 | IndirectResultBits::encode(indirect_result > 1); | |
William Hesse
2010/02/03 06:18:35
Shouldn't this just be indirect_result, not indire
| |
492 } | |
493 | |
494 | |
482 bool ApiGetterEntryStub::GetCustomCache(Code** code_out) { | 495 bool ApiGetterEntryStub::GetCustomCache(Code** code_out) { |
483 Object* cache = info()->load_stub_cache(); | 496 Object* cache = info()->load_stub_cache(); |
484 if (cache->IsUndefined()) { | 497 if (cache->IsUndefined()) { |
485 return false; | 498 return false; |
486 } else { | 499 } else { |
487 *code_out = Code::cast(cache); | 500 *code_out = Code::cast(cache); |
488 return true; | 501 return true; |
489 } | 502 } |
490 } | 503 } |
491 | 504 |
492 | 505 |
493 void ApiGetterEntryStub::SetCustomCache(Code* value) { | 506 void ApiGetterEntryStub::SetCustomCache(Code* value) { |
494 info()->set_load_stub_cache(value); | 507 info()->set_load_stub_cache(value); |
495 } | 508 } |
496 | 509 |
497 | 510 |
498 void DebugerStatementStub::Generate(MacroAssembler* masm) { | 511 void DebugerStatementStub::Generate(MacroAssembler* masm) { |
499 Runtime::Function* f = Runtime::FunctionForId(Runtime::kDebugBreak); | 512 Runtime::Function* f = Runtime::FunctionForId(Runtime::kDebugBreak); |
500 masm->TailCallRuntime(ExternalReference(f), 0, f->result_size); | 513 masm->TailCallRuntime(ExternalReference(f), 0, f->result_size); |
501 } | 514 } |
502 | 515 |
503 | 516 |
504 } } // namespace v8::internal | 517 } } // namespace v8::internal |
OLD | NEW |