OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 | 470 |
471 // v8::InvocationCallback's argument. | 471 // v8::InvocationCallback's argument. |
472 __ lea(eax, ApiParameterOperand(1)); | 472 __ lea(eax, ApiParameterOperand(1)); |
473 __ mov(ApiParameterOperand(0), eax); | 473 __ mov(ApiParameterOperand(0), eax); |
474 | 474 |
475 // Emitting a stub call may try to allocate (if the code is not | 475 // Emitting a stub call may try to allocate (if the code is not |
476 // already generated). Do not allow the assembler to perform a | 476 // already generated). Do not allow the assembler to perform a |
477 // garbage collection but instead return the allocation failure | 477 // garbage collection but instead return the allocation failure |
478 // object. | 478 // object. |
479 return masm->TryCallApiFunctionAndReturn(&fun, | 479 return masm->TryCallApiFunctionAndReturn(&fun, |
| 480 kApiArgc + kApiStackSpace, |
480 argc + kFastApiCallArguments + 1); | 481 argc + kFastApiCallArguments + 1); |
481 } | 482 } |
482 | 483 |
483 | 484 |
484 class CallInterceptorCompiler BASE_EMBEDDED { | 485 class CallInterceptorCompiler BASE_EMBEDDED { |
485 public: | 486 public: |
486 CallInterceptorCompiler(StubCompiler* stub_compiler, | 487 CallInterceptorCompiler(StubCompiler* stub_compiler, |
487 const ParameterCount& arguments, | 488 const ParameterCount& arguments, |
488 Register name, | 489 Register name, |
489 Code::ExtraICState extra_ic_state) | 490 Code::ExtraICState extra_ic_state) |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1084 | 1085 |
1085 __ PrepareCallApiFunction(kApiArgc, eax); | 1086 __ PrepareCallApiFunction(kApiArgc, eax); |
1086 __ mov(ApiParameterOperand(0), ebx); // name. | 1087 __ mov(ApiParameterOperand(0), ebx); // name. |
1087 __ add(Operand(ebx), Immediate(kPointerSize)); | 1088 __ add(Operand(ebx), Immediate(kPointerSize)); |
1088 __ mov(ApiParameterOperand(1), ebx); // arguments pointer. | 1089 __ mov(ApiParameterOperand(1), ebx); // arguments pointer. |
1089 | 1090 |
1090 // Emitting a stub call may try to allocate (if the code is not | 1091 // Emitting a stub call may try to allocate (if the code is not |
1091 // already generated). Do not allow the assembler to perform a | 1092 // already generated). Do not allow the assembler to perform a |
1092 // garbage collection but instead return the allocation failure | 1093 // garbage collection but instead return the allocation failure |
1093 // object. | 1094 // object. |
1094 return masm()->TryCallApiFunctionAndReturn(&fun, kStackSpace); | 1095 return masm()->TryCallApiFunctionAndReturn(&fun, |
| 1096 kApiArgc, |
| 1097 kStackSpace); |
1095 } | 1098 } |
1096 | 1099 |
1097 | 1100 |
1098 void StubCompiler::GenerateLoadConstant(JSObject* object, | 1101 void StubCompiler::GenerateLoadConstant(JSObject* object, |
1099 JSObject* holder, | 1102 JSObject* holder, |
1100 Register receiver, | 1103 Register receiver, |
1101 Register scratch1, | 1104 Register scratch1, |
1102 Register scratch2, | 1105 Register scratch2, |
1103 Register scratch3, | 1106 Register scratch3, |
1104 Object* value, | 1107 Object* value, |
(...skipping 2669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3774 masm->isolate()->builtins()->KeyedStoreIC_MissForceGeneric(); | 3777 masm->isolate()->builtins()->KeyedStoreIC_MissForceGeneric(); |
3775 __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); | 3778 __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); |
3776 } | 3779 } |
3777 | 3780 |
3778 | 3781 |
3779 #undef __ | 3782 #undef __ |
3780 | 3783 |
3781 } } // namespace v8::internal | 3784 } } // namespace v8::internal |
3782 | 3785 |
3783 #endif // V8_TARGET_ARCH_IA32 | 3786 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |