OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 Register scratch1, | 153 Register scratch1, |
154 Register scratch2, | 154 Register scratch2, |
155 String* name, | 155 String* name, |
156 Label* miss) { | 156 Label* miss) { |
157 UNIMPLEMENTED_MIPS(); | 157 UNIMPLEMENTED_MIPS(); |
158 __ break_(0x505); | 158 __ break_(0x505); |
159 } | 159 } |
160 | 160 |
161 | 161 |
162 Object* StubCompiler::CompileLazyCompile(Code::Flags flags) { | 162 Object* StubCompiler::CompileLazyCompile(Code::Flags flags) { |
163 UNIMPLEMENTED_MIPS(); | 163 // Registers: |
164 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN | 164 // a1: function |
| 165 // ra: return address |
| 166 |
| 167 // Enter an internal frame. |
| 168 __ EnterInternalFrame(); |
| 169 // Preserve the function. |
| 170 __ Push(a1); |
| 171 // Setup aligned call. |
| 172 __ SetupAlignedCall(t0, 1); |
| 173 // Push the function on the stack as the argument to the runtime function. |
| 174 __ Push(a1); |
| 175 // Call the runtime function |
| 176 __ CallRuntime(Runtime::kLazyCompile, 1); |
| 177 __ ReturnFromAlignedCall(); |
| 178 // Calculate the entry point. |
| 179 __ addiu(t9, v0, Code::kHeaderSize - kHeapObjectTag); |
| 180 // Restore saved function. |
| 181 __ Pop(a1); |
| 182 // Tear down temporary frame. |
| 183 __ LeaveInternalFrame(); |
| 184 // Do a tail-call of the compiled function. |
| 185 __ Jump(t9); |
| 186 |
| 187 return GetCodeWithFlags(flags, "LazyCompileStub"); |
165 } | 188 } |
166 | 189 |
167 | 190 |
168 Object* CallStubCompiler::CompileCallField(JSObject* object, | 191 Object* CallStubCompiler::CompileCallField(JSObject* object, |
169 JSObject* holder, | 192 JSObject* holder, |
170 int index, | 193 int index, |
171 String* name) { | 194 String* name) { |
172 UNIMPLEMENTED_MIPS(); | 195 UNIMPLEMENTED_MIPS(); |
173 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN | 196 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN |
174 } | 197 } |
175 | 198 |
176 | 199 |
| 200 Object* CallStubCompiler::CompileArrayPushCall(Object* object, |
| 201 JSObject* holder, |
| 202 JSFunction* function, |
| 203 String* name, |
| 204 CheckType check) { |
| 205 UNIMPLEMENTED_MIPS(); |
| 206 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN |
| 207 } |
| 208 |
| 209 |
| 210 Object* CallStubCompiler::CompileArrayPopCall(Object* object, |
| 211 JSObject* holder, |
| 212 JSFunction* function, |
| 213 String* name, |
| 214 CheckType check) { |
| 215 UNIMPLEMENTED_MIPS(); |
| 216 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN |
| 217 } |
| 218 |
| 219 |
177 Object* CallStubCompiler::CompileCallConstant(Object* object, | 220 Object* CallStubCompiler::CompileCallConstant(Object* object, |
178 JSObject* holder, | 221 JSObject* holder, |
179 JSFunction* function, | 222 JSFunction* function, |
180 String* name, | 223 String* name, |
181 CheckType check) { | 224 CheckType check) { |
182 UNIMPLEMENTED_MIPS(); | 225 UNIMPLEMENTED_MIPS(); |
183 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN | 226 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN |
184 } | 227 } |
185 | 228 |
186 | 229 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 SharedFunctionInfo* shared) { | 391 SharedFunctionInfo* shared) { |
349 UNIMPLEMENTED_MIPS(); | 392 UNIMPLEMENTED_MIPS(); |
350 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN | 393 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN |
351 } | 394 } |
352 | 395 |
353 | 396 |
354 #undef __ | 397 #undef __ |
355 | 398 |
356 } } // namespace v8::internal | 399 } } // namespace v8::internal |
357 | 400 |
OLD | NEW |