OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 Object* StubCache::ComputeCallInitialize(int argc) { | 536 Object* StubCache::ComputeCallInitialize(int argc) { |
537 Code::Flags flags = | 537 Code::Flags flags = |
538 Code::ComputeFlags(Code::CALL_IC, UNINITIALIZED, NORMAL, argc); | 538 Code::ComputeFlags(Code::CALL_IC, UNINITIALIZED, NORMAL, argc); |
539 Object* probe = ProbeCache(flags); | 539 Object* probe = ProbeCache(flags); |
540 if (!probe->IsUndefined()) return probe; | 540 if (!probe->IsUndefined()) return probe; |
541 StubCompiler compiler; | 541 StubCompiler compiler; |
542 return FillCache(compiler.CompileCallInitialize(flags)); | 542 return FillCache(compiler.CompileCallInitialize(flags)); |
543 } | 543 } |
544 | 544 |
545 | 545 |
| 546 Object* StubCache::ComputeCallInitializeInLoop(int argc) { |
| 547 Code::Flags flags = |
| 548 Code::ComputeFlags(Code::CALL_IC, UNINITIALIZED_IN_LOOP, NORMAL, argc); |
| 549 Object* probe = ProbeCache(flags); |
| 550 if (!probe->IsUndefined()) return probe; |
| 551 StubCompiler compiler; |
| 552 return FillCache(compiler.CompileCallInitialize(flags)); |
| 553 } |
| 554 |
| 555 |
| 556 |
546 Object* StubCache::ComputeCallPreMonomorphic(int argc) { | 557 Object* StubCache::ComputeCallPreMonomorphic(int argc) { |
547 Code::Flags flags = | 558 Code::Flags flags = |
548 Code::ComputeFlags(Code::CALL_IC, PREMONOMORPHIC, NORMAL, argc); | 559 Code::ComputeFlags(Code::CALL_IC, PREMONOMORPHIC, NORMAL, argc); |
549 Object* probe = ProbeCache(flags); | 560 Object* probe = ProbeCache(flags); |
550 if (!probe->IsUndefined()) return probe; | 561 if (!probe->IsUndefined()) return probe; |
551 StubCompiler compiler; | 562 StubCompiler compiler; |
552 return FillCache(compiler.CompileCallPreMonomorphic(flags)); | 563 return FillCache(compiler.CompileCallPreMonomorphic(flags)); |
553 } | 564 } |
554 | 565 |
555 | 566 |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 | 925 |
915 | 926 |
916 Object* CallStubCompiler::GetCode(PropertyType type) { | 927 Object* CallStubCompiler::GetCode(PropertyType type) { |
917 int argc = arguments_.immediate(); | 928 int argc = arguments_.immediate(); |
918 Code::Flags flags = Code::ComputeMonomorphicFlags(Code::CALL_IC, type, argc); | 929 Code::Flags flags = Code::ComputeMonomorphicFlags(Code::CALL_IC, type, argc); |
919 return GetCodeWithFlags(flags); | 930 return GetCodeWithFlags(flags); |
920 } | 931 } |
921 | 932 |
922 | 933 |
923 } } // namespace v8::internal | 934 } } // namespace v8::internal |
OLD | NEW |