| 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 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 // Handle call cache miss. | 677 // Handle call cache miss. |
| 678 __ bind(&miss); | 678 __ bind(&miss); |
| 679 Handle<Code> ic = ComputeCallMiss(arguments().immediate()); | 679 Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
| 680 __ Jump(ic, RelocInfo::CODE_TARGET); | 680 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 681 | 681 |
| 682 // Return the generated code. | 682 // Return the generated code. |
| 683 return GetCode(INTERCEPTOR, name); | 683 return GetCode(INTERCEPTOR, name); |
| 684 } | 684 } |
| 685 | 685 |
| 686 | 686 |
| 687 Object* CallStubCompiler::CompileCallGlobal(JSGlobalObject* object, | 687 Object* CallStubCompiler::CompileCallGlobal(GlobalObject* object, |
| 688 JSGlobalPropertyCell* cell, | 688 JSGlobalPropertyCell* cell, |
| 689 JSFunction* function, | 689 JSFunction* function, |
| 690 String* name) { | 690 String* name) { |
| 691 // ----------- S t a t e ------------- | 691 // ----------- S t a t e ------------- |
| 692 // -- lr: return address | 692 // -- lr: return address |
| 693 // ----------------------------------- | 693 // ----------------------------------- |
| 694 Label miss; | 694 Label miss; |
| 695 | 695 |
| 696 __ IncrementCounter(&Counters::call_global_inline, 1, r1, r3); | 696 __ IncrementCounter(&Counters::call_global_inline, 1, r1, r3); |
| 697 | 697 |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 872 __ bind(&miss); | 872 __ bind(&miss); |
| 873 __ mov(r2, Operand(Handle<String>(name))); // restore name | 873 __ mov(r2, Operand(Handle<String>(name))); // restore name |
| 874 Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Miss)); | 874 Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Miss)); |
| 875 __ Jump(ic, RelocInfo::CODE_TARGET); | 875 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 876 | 876 |
| 877 // Return the generated code. | 877 // Return the generated code. |
| 878 return GetCode(INTERCEPTOR, name); | 878 return GetCode(INTERCEPTOR, name); |
| 879 } | 879 } |
| 880 | 880 |
| 881 | 881 |
| 882 Object* StoreStubCompiler::CompileStoreGlobal(JSGlobalObject* object, | 882 Object* StoreStubCompiler::CompileStoreGlobal(GlobalObject* object, |
| 883 JSGlobalPropertyCell* cell, | 883 JSGlobalPropertyCell* cell, |
| 884 String* name) { | 884 String* name) { |
| 885 // ----------- S t a t e ------------- | 885 // ----------- S t a t e ------------- |
| 886 // -- r0 : value | 886 // -- r0 : value |
| 887 // -- r2 : name | 887 // -- r2 : name |
| 888 // -- lr : return address | 888 // -- lr : return address |
| 889 // -- [sp] : receiver | 889 // -- [sp] : receiver |
| 890 // ----------------------------------- | 890 // ----------------------------------- |
| 891 Label miss; | 891 Label miss; |
| 892 | 892 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 r1, | 1005 r1, |
| 1006 &miss); | 1006 &miss); |
| 1007 __ bind(&miss); | 1007 __ bind(&miss); |
| 1008 GenerateLoadMiss(masm(), Code::LOAD_IC); | 1008 GenerateLoadMiss(masm(), Code::LOAD_IC); |
| 1009 | 1009 |
| 1010 // Return the generated code. | 1010 // Return the generated code. |
| 1011 return GetCode(INTERCEPTOR, name); | 1011 return GetCode(INTERCEPTOR, name); |
| 1012 } | 1012 } |
| 1013 | 1013 |
| 1014 | 1014 |
| 1015 Object* LoadStubCompiler::CompileLoadGlobal(JSGlobalObject* object, | 1015 Object* LoadStubCompiler::CompileLoadGlobal(GlobalObject* object, |
| 1016 JSGlobalPropertyCell* cell, | 1016 JSGlobalPropertyCell* cell, |
| 1017 String* name, | 1017 String* name, |
| 1018 bool is_dont_delete) { | 1018 bool is_dont_delete) { |
| 1019 // ----------- S t a t e ------------- | 1019 // ----------- S t a t e ------------- |
| 1020 // -- r2 : name | 1020 // -- r2 : name |
| 1021 // -- lr : return address | 1021 // -- lr : return address |
| 1022 // -- [sp] : receiver | 1022 // -- [sp] : receiver |
| 1023 // ----------------------------------- | 1023 // ----------------------------------- |
| 1024 Label miss; | 1024 Label miss; |
| 1025 | 1025 |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1263 __ Jump(ic, RelocInfo::CODE_TARGET); | 1263 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 1264 | 1264 |
| 1265 // Return the generated code. | 1265 // Return the generated code. |
| 1266 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name); | 1266 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name); |
| 1267 } | 1267 } |
| 1268 | 1268 |
| 1269 | 1269 |
| 1270 #undef __ | 1270 #undef __ |
| 1271 | 1271 |
| 1272 } } // namespace v8::internal | 1272 } } // namespace v8::internal |
| OLD | NEW |