| OLD | NEW |
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-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 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 LOG(CodeCreateEvent(Logger::CALL_INITIALIZE_TAG, | 856 LOG(CodeCreateEvent(Logger::CALL_INITIALIZE_TAG, |
| 857 code, code->arguments_count())); | 857 code, code->arguments_count())); |
| 858 } | 858 } |
| 859 return result; | 859 return result; |
| 860 } | 860 } |
| 861 | 861 |
| 862 | 862 |
| 863 Object* StubCompiler::CompileCallPreMonomorphic(Code::Flags flags) { | 863 Object* StubCompiler::CompileCallPreMonomorphic(Code::Flags flags) { |
| 864 HandleScope scope; | 864 HandleScope scope; |
| 865 int argc = Code::ExtractArgumentsCountFromFlags(flags); | 865 int argc = Code::ExtractArgumentsCountFromFlags(flags); |
| 866 // The code of the PreMonomorphic stub is the same as the code |
| 867 // of the Initialized stub. They just differ on the code object flags. |
| 866 CallIC::GenerateInitialize(masm(), argc); | 868 CallIC::GenerateInitialize(masm(), argc); |
| 867 Object* result = GetCodeWithFlags(flags, "CompileCallPreMonomorphic"); | 869 Object* result = GetCodeWithFlags(flags, "CompileCallPreMonomorphic"); |
| 868 if (!result->IsFailure()) { | 870 if (!result->IsFailure()) { |
| 869 Counters::call_premonomorphic_stubs.Increment(); | 871 Counters::call_premonomorphic_stubs.Increment(); |
| 870 Code* code = Code::cast(result); | 872 Code* code = Code::cast(result); |
| 871 USE(code); | 873 USE(code); |
| 872 LOG(CodeCreateEvent(Logger::CALL_PRE_MONOMORPHIC_TAG, | 874 LOG(CodeCreateEvent(Logger::CALL_PRE_MONOMORPHIC_TAG, |
| 873 code, code->arguments_count())); | 875 code, code->arguments_count())); |
| 874 } | 876 } |
| 875 return result; | 877 return result; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 int argc = arguments_.immediate(); | 1011 int argc = arguments_.immediate(); |
| 1010 Code::Flags flags = Code::ComputeMonomorphicFlags(Code::CALL_IC, | 1012 Code::Flags flags = Code::ComputeMonomorphicFlags(Code::CALL_IC, |
| 1011 type, | 1013 type, |
| 1012 in_loop_, | 1014 in_loop_, |
| 1013 argc); | 1015 argc); |
| 1014 return GetCodeWithFlags(flags, name); | 1016 return GetCodeWithFlags(flags, name); |
| 1015 } | 1017 } |
| 1016 | 1018 |
| 1017 | 1019 |
| 1018 } } // namespace v8::internal | 1020 } } // namespace v8::internal |
| OLD | NEW |