OLD | NEW |
---|---|
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 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 15 matching lines...) Expand all Loading... | |
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 |
28 #include "v8.h" | 28 #include "v8.h" |
29 | 29 |
30 #include "macro-assembler.h" | 30 #include "macro-assembler.h" |
31 | 31 |
32 namespace v8 { namespace internal { | 32 namespace v8 { namespace internal { |
33 | 33 |
34 Register no_reg = { -1 }; | 34 Register no_reg = { -1 }; |
35 | 35 |
36 | |
36 } } // namespace v8::internal | 37 } } // namespace v8::internal |
38 | |
39 | |
40 // TODO(x64): Implement and move these to their correct cc-files: | |
41 #include "assembler.h" | |
42 #include "ast.h" | |
43 #include "bootstrapper.h" | |
44 #include "codegen-inl.h" | |
45 #include "cpu.h" | |
46 #include "debug.h" | |
47 #include "disasm.h" | |
48 #include "disassembler.h" | |
49 #include "frames-inl.h" | |
50 #include "x64/macro-assembler-x64.h" | |
51 #include "x64/regexp-macro-assembler-x64.h" | |
52 #include "ic-inl.h" | |
53 #include "log.h" | |
54 #include "macro-assembler.h" | |
55 #include "parser.h" | |
56 #include "regexp-macro-assembler.h" | |
57 #include "regexp-stack.h" | |
58 #include "register-allocator-inl.h" | |
59 #include "register-allocator.h" | |
60 #include "runtime.h" | |
61 #include "scopes.h" | |
62 #include "serialize.h" | |
63 #include "stub-cache.h" | |
64 #include "unicode.h" | |
65 | |
66 namespace v8 { namespace internal { | |
67 | |
68 void ArgumentsAccessStub::GenerateNewObject(MacroAssembler* a) { | |
69 UNIMPLEMENTED(); | |
70 USE(a); | |
71 } | |
72 void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* a) { | |
73 UNIMPLEMENTED(); | |
74 USE(a); | |
75 } | |
76 void ArgumentsAccessStub::GenerateReadLength(MacroAssembler* a) { | |
77 UNIMPLEMENTED(); | |
78 USE(a); | |
79 } | |
80 Assembler::Assembler(void* a, int b) { | |
81 UNIMPLEMENTED(); | |
82 USE(a); | |
83 USE(b); | |
84 } | |
85 | |
86 void Assembler::GetCode(CodeDesc* a) { | |
87 UNIMPLEMENTED(); | |
88 USE(a); | |
89 } | |
90 void Assembler::RecordComment(char const* a) { | |
91 UNIMPLEMENTED(); | |
92 USE(a); | |
93 } | |
94 void Assembler::RecordPosition(int a) { | |
95 UNIMPLEMENTED(); | |
96 USE(a); | |
97 } | |
98 void Assembler::RecordStatementPosition(int a) { | |
99 UNIMPLEMENTED(); | |
100 USE(a); | |
101 } | |
102 void Assembler::bind(Label* a) { | |
103 UNIMPLEMENTED(); | |
104 USE(a); | |
105 } | |
106 Assembler::~Assembler() { | |
107 UNIMPLEMENTED(); | |
108 } | |
109 void BreakLocationIterator::ClearDebugBreakAtReturn() { | |
110 UNIMPLEMENTED(); | |
111 } | |
112 bool BreakLocationIterator::IsDebugBreakAtReturn() { | |
113 UNIMPLEMENTED(); | |
114 return false; | |
115 } | |
116 void BreakLocationIterator::SetDebugBreakAtReturn() { | |
117 UNIMPLEMENTED(); | |
118 } | |
119 void CEntryStub::GenerateBody(MacroAssembler* a, bool b) { | |
120 UNIMPLEMENTED(); | |
121 USE(a); | |
122 USE(b); | |
123 } | |
124 void CallIC::Generate(MacroAssembler* a, int b, ExternalReference const& c) { | |
125 UNIMPLEMENTED(); | |
126 USE(a); | |
127 USE(b); | |
128 USE(c); | |
129 } | |
130 void CallIC::GenerateMegamorphic(MacroAssembler* a, int b) { | |
131 UNIMPLEMENTED(); | |
132 USE(a); | |
133 USE(b); | |
134 } | |
135 void CallIC::GenerateNormal(MacroAssembler* a, int b) { | |
136 UNIMPLEMENTED(); | |
137 USE(a); | |
138 USE(b); | |
139 } | |
140 Object* CallStubCompiler::CompileCallConstant(Object* a, | |
141 JSObject* b, | |
142 JSFunction* c, | |
143 StubCompiler::CheckType d) { | |
144 UNIMPLEMENTED(); | |
145 USE(a); | |
146 USE(b); | |
147 USE(c); | |
148 USE(d); | |
149 return NULL; | |
150 } | |
151 Object* CallStubCompiler::CompileCallField(Object* a, | |
152 JSObject* b, | |
153 int c, | |
154 String* d) { | |
155 UNIMPLEMENTED(); | |
156 USE(a); | |
157 USE(b); | |
158 USE(c); | |
159 USE(d); | |
160 return NULL; | |
161 } | |
162 Object* CallStubCompiler::CompileCallInterceptor(Object* a, | |
163 JSObject* b, | |
164 String* c) { | |
165 UNIMPLEMENTED(); | |
166 USE(a); | |
167 USE(a); | |
168 USE(a); | |
Dean McNamee
2009/05/13 12:33:09
this is wrong.
| |
169 return NULL; | |
170 } | |
171 CodeGenerator::CodeGenerator(int buffer_size, | |
172 Handle<Script> script, | |
173 bool is_eval) | |
174 : is_eval_(is_eval), | |
175 script_(script), | |
176 deferred_(8), | |
177 masm_(new MacroAssembler(NULL, buffer_size)), | |
178 scope_(NULL), | |
179 frame_(NULL), | |
180 allocator_(NULL), | |
181 state_(NULL), | |
182 loop_nesting_(0), | |
183 function_return_is_shadowed_(false), | |
184 in_spilled_code_(false) { | |
185 UNIMPLEMENTED(); | |
186 } | |
187 void CodeGenerator::DeclareGlobals(Handle<FixedArray> a) { | |
188 UNIMPLEMENTED(); | |
189 USE(a); | |
190 } | |
191 void CodeGenerator::GenCode(FunctionLiteral* a) { | |
192 UNIMPLEMENTED(); | |
193 USE(a); | |
194 } | |
195 void CodeGenerator::GenerateFastCaseSwitchJumpTable(SwitchStatement* a, | |
196 int b, | |
197 int c, | |
198 Label* d, | |
199 Vector<Label*> e, | |
200 Vector<Label> f) { | |
201 UNIMPLEMENTED(); | |
202 USE(a); | |
203 USE(b); | |
204 USE(c); | |
205 USE(d); | |
206 USE(e); | |
207 USE(f); | |
208 } | |
209 void CpuFeatures::Probe() { | |
210 UNIMPLEMENTED(); | |
211 } | |
212 void Debug::GenerateCallICDebugBreak(MacroAssembler* a) { | |
213 UNIMPLEMENTED(); | |
214 USE(a); | |
215 } | |
216 void Debug::GenerateConstructCallDebugBreak(MacroAssembler* a) { | |
217 UNIMPLEMENTED(); | |
218 USE(a); | |
219 } | |
220 void Debug::GenerateKeyedLoadICDebugBreak(MacroAssembler* a) { | |
221 UNIMPLEMENTED(); | |
222 USE(a); | |
223 } | |
224 void Debug::GenerateKeyedStoreICDebugBreak(MacroAssembler* a) { | |
225 UNIMPLEMENTED(); | |
226 USE(a); | |
227 } | |
228 void Debug::GenerateLoadICDebugBreak(MacroAssembler* a) { | |
229 UNIMPLEMENTED(); | |
230 USE(a); | |
231 } | |
232 void Debug::GenerateReturnDebugBreak(MacroAssembler* a) { | |
233 UNIMPLEMENTED(); | |
234 USE(a); | |
235 } | |
236 void Debug::GenerateReturnDebugBreakEntry(MacroAssembler* a) { | |
237 UNIMPLEMENTED(); | |
238 USE(a); | |
239 } | |
240 void Debug::GenerateStoreICDebugBreak(MacroAssembler* a) { | |
241 UNIMPLEMENTED(); | |
242 USE(a); | |
243 } | |
244 void Debug::GenerateStubNoRegistersDebugBreak(MacroAssembler* a) { | |
245 UNIMPLEMENTED(); | |
246 USE(a); | |
247 } | |
248 StackFrame::Type ExitFrame::GetStateForFramePointer(unsigned char* a, | |
249 StackFrame::State* b) { | |
250 UNIMPLEMENTED(); | |
251 USE(a); | |
252 USE(a); | |
Dean McNamee
2009/05/13 12:33:09
wrong
| |
253 return NONE; | |
254 } | |
255 void JSEntryStub::GenerateBody(MacroAssembler* a, bool b) { | |
256 UNIMPLEMENTED(); | |
257 USE(a); | |
258 USE(b); | |
259 } | |
260 int JavaScriptFrame::GetProvidedParametersCount() const { | |
261 UNIMPLEMENTED(); | |
262 return 0; | |
263 } | |
264 void JumpTarget::DoBind(int a) { | |
265 UNIMPLEMENTED(); | |
266 USE(a); | |
267 } | |
268 void JumpTarget::DoBranch(Condition a, Hint b) { | |
269 UNIMPLEMENTED(); | |
270 USE(a); | |
271 USE(b); | |
272 } | |
273 void JumpTarget::DoJump() { | |
274 UNIMPLEMENTED(); | |
275 } | |
276 void KeyedLoadIC::ClearInlinedVersion(unsigned char* a) { | |
277 UNIMPLEMENTED(); | |
278 USE(a); | |
279 } | |
280 void KeyedLoadIC::Generate(MacroAssembler* a, ExternalReference const& b) { | |
281 UNIMPLEMENTED(); | |
282 USE(a); | |
283 USE(b); | |
284 } | |
285 void KeyedLoadIC::GenerateGeneric(MacroAssembler* a) { | |
286 UNIMPLEMENTED(); | |
287 USE(a); | |
288 } | |
289 void KeyedLoadIC::GenerateMiss(MacroAssembler* a) { | |
290 UNIMPLEMENTED(); | |
291 USE(a); | |
292 } | |
293 bool KeyedLoadIC::PatchInlinedLoad(unsigned char* a, Object* b) { | |
294 UNIMPLEMENTED(); | |
295 USE(a); | |
296 USE(b); | |
297 return false; | |
298 } | |
299 Object* KeyedLoadStubCompiler::CompileLoadArrayLength(String* a) { | |
300 UNIMPLEMENTED(); | |
301 USE(a); | |
302 return NULL; | |
303 } | |
304 Object* KeyedLoadStubCompiler::CompileLoadCallback(String* a, | |
305 JSObject* b, | |
306 JSObject* c, | |
307 AccessorInfo* d) { | |
308 UNIMPLEMENTED(); | |
309 USE(a); | |
310 USE(b); | |
311 USE(c); | |
312 USE(d); | |
313 return NULL; | |
314 } | |
315 Object* KeyedLoadStubCompiler::CompileLoadConstant(String* a, | |
316 JSObject* b, | |
317 JSObject* c, | |
318 Object* d) { | |
319 UNIMPLEMENTED(); | |
320 USE(a); | |
321 USE(b); | |
322 USE(c); | |
323 USE(d); | |
324 return NULL; | |
325 } | |
326 Object* KeyedLoadStubCompiler::CompileLoadField(String* a, | |
327 JSObject* b, | |
328 JSObject* c, | |
329 int d) { | |
330 UNIMPLEMENTED(); | |
331 USE(a); | |
332 USE(b); | |
333 USE(c); | |
334 USE(d); | |
335 return NULL; | |
336 } | |
337 Object* KeyedLoadStubCompiler::CompileLoadFunctionPrototype(String* a) { | |
338 UNIMPLEMENTED(); | |
339 USE(a); | |
340 return NULL; | |
341 } | |
342 Object* KeyedLoadStubCompiler::CompileLoadInterceptor(JSObject* a, | |
343 JSObject* b, | |
344 String* c) { | |
345 UNIMPLEMENTED(); | |
346 USE(a); | |
347 USE(b); | |
348 USE(c); | |
349 return NULL; | |
350 } | |
351 Object* KeyedLoadStubCompiler::CompileLoadStringLength(String* a) { | |
352 UNIMPLEMENTED(); | |
353 USE(a); | |
354 return NULL; | |
355 } | |
356 void KeyedStoreIC::Generate(MacroAssembler* a, ExternalReference const& b) { | |
357 UNIMPLEMENTED(); | |
358 USE(a); | |
359 USE(b); | |
360 } | |
361 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* a) { | |
362 UNIMPLEMENTED(); | |
363 USE(a); | |
364 } | |
365 void KeyedStoreIC::GenerateGeneric(MacroAssembler*a) { | |
366 UNIMPLEMENTED(); | |
367 USE(a); | |
368 } | |
369 Object* KeyedStoreStubCompiler::CompileStoreField(JSObject* a, | |
370 int b, | |
371 Map* c, | |
372 String* d) { | |
373 UNIMPLEMENTED(); | |
374 USE(a); | |
375 USE(b); | |
376 USE(c); | |
377 USE(d); | |
378 return NULL; | |
379 } | |
380 void LoadIC::ClearInlinedVersion(unsigned char* a) { | |
381 UNIMPLEMENTED(); | |
382 USE(a); | |
383 } | |
384 void LoadIC::Generate(MacroAssembler* a, ExternalReference const& b) { | |
385 UNIMPLEMENTED(); | |
386 USE(a); | |
387 USE(b); | |
388 } | |
389 void LoadIC::GenerateArrayLength(MacroAssembler* a) { | |
390 UNIMPLEMENTED(); | |
391 USE(a); | |
392 } | |
393 void LoadIC::GenerateFunctionPrototype(MacroAssembler* a) { | |
394 UNIMPLEMENTED(); | |
395 USE(a); | |
396 } | |
397 void LoadIC::GenerateMegamorphic(MacroAssembler* a) { | |
398 UNIMPLEMENTED(); | |
399 USE(a); | |
400 } | |
401 void LoadIC::GenerateMiss(MacroAssembler* a) { | |
402 UNIMPLEMENTED(); | |
403 USE(a); | |
404 } | |
405 void LoadIC::GenerateNormal(MacroAssembler* a) { | |
406 UNIMPLEMENTED(); | |
407 USE(a); | |
408 } | |
409 void LoadIC::GenerateStringLength(MacroAssembler* a) { | |
410 UNIMPLEMENTED(); | |
411 USE(a); | |
412 } | |
413 bool LoadIC::PatchInlinedLoad(unsigned char* a, Object* b, int c) { | |
414 UNIMPLEMENTED(); | |
415 USE(a); | |
416 USE(b); | |
417 USE(c); | |
418 return false; | |
419 } | |
420 Object* LoadStubCompiler::CompileLoadCallback(JSObject* a, | |
421 JSObject* b, | |
422 AccessorInfo* c, | |
423 String* d) { | |
424 UNIMPLEMENTED(); | |
425 USE(a); | |
426 USE(b); | |
427 USE(c); | |
428 USE(d); | |
429 return NULL; | |
430 } | |
431 Object* LoadStubCompiler::CompileLoadConstant(JSObject* a, | |
432 JSObject* b, | |
433 Object* c, | |
434 String* d) { | |
435 UNIMPLEMENTED(); | |
436 USE(a); | |
437 USE(b); | |
438 USE(c); | |
439 USE(d); | |
440 return NULL; | |
441 } | |
442 Object* LoadStubCompiler::CompileLoadField(JSObject* a, | |
443 JSObject* b, | |
444 int c, | |
445 String* d) { | |
446 UNIMPLEMENTED(); | |
447 USE(a); | |
448 USE(b); | |
449 USE(c); | |
450 USE(d); | |
451 return NULL; | |
452 } | |
453 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* a, | |
454 JSObject* b, | |
455 String* c) { | |
456 UNIMPLEMENTED(); | |
457 USE(a); | |
458 USE(b); | |
459 USE(c); | |
460 return NULL; | |
461 } | |
462 MacroAssembler::MacroAssembler(void* buffer, int size) | |
463 : Assembler(buffer, size), | |
464 unresolved_(0), | |
465 generating_stub_(false), | |
466 allow_stub_calls_(true), | |
467 code_object_(Heap::undefined_value()) { | |
468 UNIMPLEMENTED(); | |
469 } | |
470 void MacroAssembler::TailCallRuntime(ExternalReference const& a, int b) { | |
471 UNIMPLEMENTED(); | |
472 USE(a); | |
473 USE(b); | |
474 } | |
475 bool RegisterAllocator::IsReserved(int a) { | |
476 UNIMPLEMENTED(); | |
477 USE(a); | |
478 return false; | |
479 } | |
480 RegisterFile RegisterAllocator::Reserved() { | |
481 UNIMPLEMENTED(); | |
482 return RegisterFile(); | |
483 } | |
484 const int RelocInfo::kApplyMask = -1; | |
485 StackFrame::Type StackFrame::ComputeType(StackFrame::State* a) { | |
486 UNIMPLEMENTED(); | |
487 USE(a); | |
488 return NONE; | |
489 } | |
490 void StoreIC::Generate(MacroAssembler* a, ExternalReference const& b) { | |
491 UNIMPLEMENTED(); | |
492 USE(a); | |
493 USE(b); | |
494 } | |
495 void StoreIC::GenerateExtendStorage(MacroAssembler* a) { | |
496 UNIMPLEMENTED(); | |
497 USE(a); | |
498 } | |
499 void StoreIC::GenerateMegamorphic(MacroAssembler* a) { | |
500 UNIMPLEMENTED(); | |
501 USE(a); | |
502 } | |
503 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a, | |
504 AccessorInfo* b, | |
505 String* c) { | |
506 UNIMPLEMENTED(); | |
507 USE(a); | |
508 USE(b); | |
509 USE(c); | |
510 return NULL; | |
511 } | |
512 Object* StoreStubCompiler::CompileStoreField(JSObject* a, | |
513 int b, | |
514 Map* c, | |
515 String* d) { | |
516 UNIMPLEMENTED(); | |
517 USE(a); | |
518 USE(b); | |
519 USE(c); | |
520 USE(d); | |
521 return NULL; | |
522 } | |
523 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* a, String* b) { | |
524 UNIMPLEMENTED(); | |
525 USE(a); | |
526 USE(b); | |
527 return NULL; | |
528 } | |
529 Object* StubCompiler::CompileLazyCompile(Code::Flags a) { | |
530 UNIMPLEMENTED(); | |
531 USE(a); | |
532 return NULL; | |
533 } | |
534 void VirtualFrame::Drop(int a) { | |
535 UNIMPLEMENTED(); | |
536 USE(a); | |
537 } | |
538 int VirtualFrame::InvalidateFrameSlotAt(int a) { | |
539 UNIMPLEMENTED(); | |
540 USE(a); | |
541 return -1; | |
542 } | |
543 void VirtualFrame::MergeTo(VirtualFrame* a) { | |
544 UNIMPLEMENTED(); | |
545 USE(a); | |
546 } | |
547 Result VirtualFrame::Pop() { | |
548 UNIMPLEMENTED(); | |
549 return Result(NULL); | |
550 } | |
551 Result VirtualFrame::RawCallStub(CodeStub* a) { | |
552 UNIMPLEMENTED(); | |
553 USE(a); | |
554 return Result(NULL); | |
555 } | |
556 void VirtualFrame::SyncElementBelowStackPointer(int a) { | |
557 UNIMPLEMENTED(); | |
558 USE(a); | |
559 } | |
560 void VirtualFrame::SyncElementByPushing(int a) { | |
561 UNIMPLEMENTED(); | |
562 USE(a); | |
563 } | |
564 | |
565 void VirtualFrame::SyncRange(int a, int b) { | |
566 UNIMPLEMENTED(); | |
567 USE(a); | |
568 USE(b); | |
569 } | |
570 | |
571 VirtualFrame::VirtualFrame(CodeGenerator* cgen) | |
572 : cgen_(cgen), | |
573 masm_(NULL), | |
574 elements_(0), | |
575 parameter_count_(0), | |
576 local_count_(0), | |
577 stack_pointer_(0), | |
578 frame_pointer_(kIllegalIndex) { | |
579 UNIMPLEMENTED(); | |
580 } | |
581 | |
582 } } // namespace v8::internal | |
583 | |
Dean McNamee
2009/05/13 12:33:09
tailing line :)
| |
OLD | NEW |