blob: 87507ff1e43e1b4d51eb545bde7427184798c3d9 [file] [log] [blame]
lrn@chromium.org7516f052011-03-30 08:52:27 +00001// Copyright 2011 the V8 project authors. All rights reserved.
ager@chromium.org5c838252010-02-19 08:53:10 +00002// Redistribution and use in source and binary forms, with or without
3// modification, are permitted provided that the following conditions are
4// met:
5//
6// * Redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer.
8// * Redistributions in binary form must reproduce the above
9// copyright notice, this list of conditions and the following
10// disclaimer in the documentation and/or other materials provided
11// with the distribution.
12// * Neither the name of Google Inc. nor the names of its
13// contributors may be used to endorse or promote products derived
14// from this software without specific prior written permission.
15//
16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28#include "v8.h"
29
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000030#if defined(V8_TARGET_ARCH_MIPS)
31
lrn@chromium.org7516f052011-03-30 08:52:27 +000032// Note on Mips implementation:
33//
34// The result_register() for mips is the 'v0' register, which is defined
35// by the ABI to contain function return values. However, the first
36// parameter to a function is defined to be 'a0'. So there are many
37// places where we have to move a previous result in v0 to a0 for the
38// next call: mov(a0, v0). This is not needed on the other architectures.
39
40#include "code-stubs.h"
ager@chromium.org5c838252010-02-19 08:53:10 +000041#include "codegen-inl.h"
42#include "compiler.h"
43#include "debug.h"
44#include "full-codegen.h"
45#include "parser.h"
lrn@chromium.org7516f052011-03-30 08:52:27 +000046#include "scopes.h"
47#include "stub-cache.h"
48
49#include "mips/code-stubs-mips.h"
ager@chromium.org5c838252010-02-19 08:53:10 +000050
51namespace v8 {
52namespace internal {
53
54#define __ ACCESS_MASM(masm_)
55
lrn@chromium.org7516f052011-03-30 08:52:27 +000056// Generate code for a JS function. On entry to the function the receiver
57// and arguments have been pushed on the stack left to right. The actual
58// argument count matches the formal parameter count expected by the
59// function.
60//
61// The live registers are:
62// o a1: the JS function object being called (ie, ourselves)
63// o cp: our context
64// o fp: our caller's frame pointer
65// o sp: stack pointer
66// o ra: return address
67//
68// The function builds a JS frame. Please see JavaScriptFrameConstants in
69// frames-mips.h for its layout.
70void FullCodeGenerator::Generate(CompilationInfo* info) {
71 UNIMPLEMENTED_MIPS();
72}
73
74
75void FullCodeGenerator::ClearAccumulator() {
76 UNIMPLEMENTED_MIPS();
77}
78
79
80void FullCodeGenerator::EmitStackCheck(IterationStatement* stmt) {
ager@chromium.org5c838252010-02-19 08:53:10 +000081 UNIMPLEMENTED_MIPS();
82}
83
84
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000085void FullCodeGenerator::EmitReturnSequence() {
ager@chromium.org5c838252010-02-19 08:53:10 +000086 UNIMPLEMENTED_MIPS();
87}
88
89
lrn@chromium.org7516f052011-03-30 08:52:27 +000090void FullCodeGenerator::EffectContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +000091 UNIMPLEMENTED_MIPS();
92}
93
94
lrn@chromium.org7516f052011-03-30 08:52:27 +000095void FullCodeGenerator::AccumulatorValueContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +000096 UNIMPLEMENTED_MIPS();
97}
98
99
lrn@chromium.org7516f052011-03-30 08:52:27 +0000100void FullCodeGenerator::StackValueContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000101 UNIMPLEMENTED_MIPS();
102}
103
104
lrn@chromium.org7516f052011-03-30 08:52:27 +0000105void FullCodeGenerator::TestContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000106 UNIMPLEMENTED_MIPS();
107}
108
109
lrn@chromium.org7516f052011-03-30 08:52:27 +0000110void FullCodeGenerator::EffectContext::Plug(Heap::RootListIndex index) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000111 UNIMPLEMENTED_MIPS();
112}
113
114
lrn@chromium.org7516f052011-03-30 08:52:27 +0000115void FullCodeGenerator::AccumulatorValueContext::Plug(
116 Heap::RootListIndex index) const {
117 UNIMPLEMENTED_MIPS();
118}
119
120
121void FullCodeGenerator::StackValueContext::Plug(
122 Heap::RootListIndex index) const {
123 UNIMPLEMENTED_MIPS();
124}
125
126
127void FullCodeGenerator::TestContext::Plug(Heap::RootListIndex index) const {
128 UNIMPLEMENTED_MIPS();
129}
130
131
132void FullCodeGenerator::EffectContext::Plug(Handle<Object> lit) const {
133 UNIMPLEMENTED_MIPS();
134}
135
136
137void FullCodeGenerator::AccumulatorValueContext::Plug(
138 Handle<Object> lit) const {
139 UNIMPLEMENTED_MIPS();
140}
141
142
143void FullCodeGenerator::StackValueContext::Plug(Handle<Object> lit) const {
144 UNIMPLEMENTED_MIPS();
145}
146
147
148void FullCodeGenerator::TestContext::Plug(Handle<Object> lit) const {
149 UNIMPLEMENTED_MIPS();
150}
151
152
153void FullCodeGenerator::EffectContext::DropAndPlug(int count,
154 Register reg) const {
155 UNIMPLEMENTED_MIPS();
156}
157
158
159void FullCodeGenerator::AccumulatorValueContext::DropAndPlug(
160 int count,
161 Register reg) const {
162 UNIMPLEMENTED_MIPS();
163}
164
165
166void FullCodeGenerator::StackValueContext::DropAndPlug(int count,
167 Register reg) const {
168 UNIMPLEMENTED_MIPS();
169}
170
171
172void FullCodeGenerator::TestContext::DropAndPlug(int count,
173 Register reg) const {
174 UNIMPLEMENTED_MIPS();
175}
176
177
178void FullCodeGenerator::EffectContext::Plug(Label* materialize_true,
179 Label* materialize_false) const {
180 UNIMPLEMENTED_MIPS();
181}
182
183
184void FullCodeGenerator::AccumulatorValueContext::Plug(
185 Label* materialize_true,
186 Label* materialize_false) const {
187 UNIMPLEMENTED_MIPS();
188}
189
190
191void FullCodeGenerator::StackValueContext::Plug(
192 Label* materialize_true,
193 Label* materialize_false) const {
194 UNIMPLEMENTED_MIPS();
195}
196
197
198void FullCodeGenerator::TestContext::Plug(Label* materialize_true,
199 Label* materialize_false) const {
200 UNIMPLEMENTED_MIPS();
201}
202
203
204void FullCodeGenerator::EffectContext::Plug(bool flag) const {
205 UNIMPLEMENTED_MIPS();
206}
207
208
209void FullCodeGenerator::AccumulatorValueContext::Plug(bool flag) const {
210 UNIMPLEMENTED_MIPS();
211}
212
213
214void FullCodeGenerator::StackValueContext::Plug(bool flag) const {
215 UNIMPLEMENTED_MIPS();
216}
217
218
219void FullCodeGenerator::TestContext::Plug(bool flag) const {
220 UNIMPLEMENTED_MIPS();
221}
222
223
224void FullCodeGenerator::DoTest(Label* if_true,
225 Label* if_false,
226 Label* fall_through) {
227 UNIMPLEMENTED_MIPS();
228}
229
230
231// Original prototype for mips, needs arch-indep change. Leave out for now.
232// void FullCodeGenerator::Split(Condition cc,
233// Register lhs,
234// const Operand& rhs,
235// Label* if_true,
236// Label* if_false,
237// Label* fall_through) {
238void FullCodeGenerator::Split(Condition cc,
239 Label* if_true,
240 Label* if_false,
241 Label* fall_through) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000242 UNIMPLEMENTED_MIPS();
243}
244
245
246MemOperand FullCodeGenerator::EmitSlotSearch(Slot* slot, Register scratch) {
247 UNIMPLEMENTED_MIPS();
lrn@chromium.org7516f052011-03-30 08:52:27 +0000248 return MemOperand(zero_reg, 0);
ager@chromium.org5c838252010-02-19 08:53:10 +0000249}
250
251
252void FullCodeGenerator::Move(Register destination, Slot* source) {
253 UNIMPLEMENTED_MIPS();
254}
255
256
lrn@chromium.org7516f052011-03-30 08:52:27 +0000257void FullCodeGenerator::PrepareForBailoutBeforeSplit(State state,
258 bool should_normalize,
259 Label* if_true,
260 Label* if_false) {
261 UNIMPLEMENTED_MIPS();
262}
263
264
ager@chromium.org5c838252010-02-19 08:53:10 +0000265void FullCodeGenerator::Move(Slot* dst,
266 Register src,
267 Register scratch1,
268 Register scratch2) {
269 UNIMPLEMENTED_MIPS();
270}
271
272
lrn@chromium.org7516f052011-03-30 08:52:27 +0000273void FullCodeGenerator::EmitDeclaration(Variable* variable,
274 Variable::Mode mode,
275 FunctionLiteral* function) {
276 UNIMPLEMENTED_MIPS();
277}
278
279
ager@chromium.org5c838252010-02-19 08:53:10 +0000280void FullCodeGenerator::VisitDeclaration(Declaration* decl) {
281 UNIMPLEMENTED_MIPS();
282}
283
284
285void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
286 UNIMPLEMENTED_MIPS();
287}
288
289
lrn@chromium.org7516f052011-03-30 08:52:27 +0000290void FullCodeGenerator::VisitSwitchStatement(SwitchStatement* stmt) {
291 UNIMPLEMENTED_MIPS();
292}
293
294
295void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) {
296 UNIMPLEMENTED_MIPS();
297}
298
299
300void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
301 bool pretenure) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000302 UNIMPLEMENTED_MIPS();
303}
304
305
306void FullCodeGenerator::VisitVariableProxy(VariableProxy* expr) {
307 UNIMPLEMENTED_MIPS();
308}
309
310
lrn@chromium.org7516f052011-03-30 08:52:27 +0000311MemOperand FullCodeGenerator::ContextSlotOperandCheckExtensions(
312 Slot* slot,
313 Label* slow) {
314 UNIMPLEMENTED_MIPS();
315 return MemOperand(zero_reg, 0);
316}
317
318
319void FullCodeGenerator::EmitDynamicLoadFromSlotFastCase(
320 Slot* slot,
321 TypeofState typeof_state,
322 Label* slow,
323 Label* done) {
324 UNIMPLEMENTED_MIPS();
325}
326
327
328void FullCodeGenerator::EmitLoadGlobalSlotCheckExtensions(
329 Slot* slot,
330 TypeofState typeof_state,
331 Label* slow) {
332 UNIMPLEMENTED_MIPS();
333}
334
335
336void FullCodeGenerator::EmitVariableLoad(Variable* var) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000337 UNIMPLEMENTED_MIPS();
338}
339
340
341void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
342 UNIMPLEMENTED_MIPS();
343}
344
345
346void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
347 UNIMPLEMENTED_MIPS();
348}
349
350
351void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
352 UNIMPLEMENTED_MIPS();
353}
354
355
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000356void FullCodeGenerator::VisitAssignment(Assignment* expr) {
357 UNIMPLEMENTED_MIPS();
358}
359
360
ager@chromium.org5c838252010-02-19 08:53:10 +0000361void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
362 UNIMPLEMENTED_MIPS();
363}
364
365
366void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
367 UNIMPLEMENTED_MIPS();
368}
369
370
lrn@chromium.org7516f052011-03-30 08:52:27 +0000371void FullCodeGenerator::EmitInlineSmiBinaryOp(Expression* expr,
372 Token::Value op,
373 OverwriteMode mode,
374 Expression* left,
375 Expression* right) {
376 UNIMPLEMENTED_MIPS();
377}
378
379
ager@chromium.org5c838252010-02-19 08:53:10 +0000380void FullCodeGenerator::EmitBinaryOp(Token::Value op,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000381 OverwriteMode mode) {
382 UNIMPLEMENTED_MIPS();
383}
384
385
386void FullCodeGenerator::EmitAssignment(Expression* expr, int bailout_ast_id) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000387 UNIMPLEMENTED_MIPS();
388}
389
390
391void FullCodeGenerator::EmitVariableAssignment(Variable* var,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000392 Token::Value op) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000393 UNIMPLEMENTED_MIPS();
394}
395
396
397void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
398 UNIMPLEMENTED_MIPS();
399}
400
401
402void FullCodeGenerator::EmitKeyedPropertyAssignment(Assignment* expr) {
403 UNIMPLEMENTED_MIPS();
404}
405
406
407void FullCodeGenerator::VisitProperty(Property* expr) {
408 UNIMPLEMENTED_MIPS();
409}
410
lrn@chromium.org7516f052011-03-30 08:52:27 +0000411
ager@chromium.org5c838252010-02-19 08:53:10 +0000412void FullCodeGenerator::EmitCallWithIC(Call* expr,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000413 Handle<Object> name,
ager@chromium.org5c838252010-02-19 08:53:10 +0000414 RelocInfo::Mode mode) {
415 UNIMPLEMENTED_MIPS();
416}
417
418
lrn@chromium.org7516f052011-03-30 08:52:27 +0000419void FullCodeGenerator::EmitKeyedCallWithIC(Call* expr,
420 Expression* key,
421 RelocInfo::Mode mode) {
422 UNIMPLEMENTED_MIPS();
423}
424
425
ager@chromium.org5c838252010-02-19 08:53:10 +0000426void FullCodeGenerator::EmitCallWithStub(Call* expr) {
427 UNIMPLEMENTED_MIPS();
428}
429
430
431void FullCodeGenerator::VisitCall(Call* expr) {
432 UNIMPLEMENTED_MIPS();
433}
434
435
436void FullCodeGenerator::VisitCallNew(CallNew* expr) {
437 UNIMPLEMENTED_MIPS();
438}
439
440
lrn@chromium.org7516f052011-03-30 08:52:27 +0000441void FullCodeGenerator::EmitIsSmi(ZoneList<Expression*>* args) {
442 UNIMPLEMENTED_MIPS();
443}
444
445
446void FullCodeGenerator::EmitIsNonNegativeSmi(ZoneList<Expression*>* args) {
447 UNIMPLEMENTED_MIPS();
448}
449
450
451void FullCodeGenerator::EmitIsObject(ZoneList<Expression*>* args) {
452 UNIMPLEMENTED_MIPS();
453}
454
455
456void FullCodeGenerator::EmitIsSpecObject(ZoneList<Expression*>* args) {
457 UNIMPLEMENTED_MIPS();
458}
459
460
461void FullCodeGenerator::EmitIsUndetectableObject(ZoneList<Expression*>* args) {
462 UNIMPLEMENTED_MIPS();
463}
464
465
466void FullCodeGenerator::EmitIsStringWrapperSafeForDefaultValueOf(
467 ZoneList<Expression*>* args) {
468 UNIMPLEMENTED_MIPS();
469}
470
471
472void FullCodeGenerator::EmitIsFunction(ZoneList<Expression*>* args) {
473 UNIMPLEMENTED_MIPS();
474}
475
476
477void FullCodeGenerator::EmitIsArray(ZoneList<Expression*>* args) {
478 UNIMPLEMENTED_MIPS();
479}
480
481
482void FullCodeGenerator::EmitIsRegExp(ZoneList<Expression*>* args) {
483 UNIMPLEMENTED_MIPS();
484}
485
486
487void FullCodeGenerator::EmitIsConstructCall(ZoneList<Expression*>* args) {
488 UNIMPLEMENTED_MIPS();
489}
490
491
492void FullCodeGenerator::EmitObjectEquals(ZoneList<Expression*>* args) {
493 UNIMPLEMENTED_MIPS();
494}
495
496
497void FullCodeGenerator::EmitArguments(ZoneList<Expression*>* args) {
498 UNIMPLEMENTED_MIPS();
499}
500
501
502void FullCodeGenerator::EmitArgumentsLength(ZoneList<Expression*>* args) {
503 UNIMPLEMENTED_MIPS();
504}
505
506
507void FullCodeGenerator::EmitClassOf(ZoneList<Expression*>* args) {
508 UNIMPLEMENTED_MIPS();
509}
510
511
512void FullCodeGenerator::EmitLog(ZoneList<Expression*>* args) {
513 UNIMPLEMENTED_MIPS();
514}
515
516
517void FullCodeGenerator::EmitRandomHeapNumber(ZoneList<Expression*>* args) {
518 UNIMPLEMENTED_MIPS();
519}
520
521
522void FullCodeGenerator::EmitSubString(ZoneList<Expression*>* args) {
523 UNIMPLEMENTED_MIPS();
524}
525
526
527void FullCodeGenerator::EmitRegExpExec(ZoneList<Expression*>* args) {
528 UNIMPLEMENTED_MIPS();
529}
530
531
532void FullCodeGenerator::EmitValueOf(ZoneList<Expression*>* args) {
533 UNIMPLEMENTED_MIPS();
534}
535
536
537void FullCodeGenerator::EmitMathPow(ZoneList<Expression*>* args) {
538 UNIMPLEMENTED_MIPS();
539}
540
541
542void FullCodeGenerator::EmitSetValueOf(ZoneList<Expression*>* args) {
543 UNIMPLEMENTED_MIPS();
544}
545
546
547void FullCodeGenerator::EmitNumberToString(ZoneList<Expression*>* args) {
548 UNIMPLEMENTED_MIPS();
549}
550
551
552void FullCodeGenerator::EmitStringCharFromCode(ZoneList<Expression*>* args) {
553 UNIMPLEMENTED_MIPS();
554}
555
556
557void FullCodeGenerator::EmitStringCharCodeAt(ZoneList<Expression*>* args) {
558 UNIMPLEMENTED_MIPS();
559}
560
561
562void FullCodeGenerator::EmitStringCharAt(ZoneList<Expression*>* args) {
563 UNIMPLEMENTED_MIPS();
564}
565
566
567void FullCodeGenerator::EmitStringAdd(ZoneList<Expression*>* args) {
568 UNIMPLEMENTED_MIPS();
569}
570
571
572void FullCodeGenerator::EmitStringCompare(ZoneList<Expression*>* args) {
573 UNIMPLEMENTED_MIPS();
574}
575
576
577void FullCodeGenerator::EmitMathSin(ZoneList<Expression*>* args) {
578 UNIMPLEMENTED_MIPS();
579}
580
581
582void FullCodeGenerator::EmitMathCos(ZoneList<Expression*>* args) {
583 UNIMPLEMENTED_MIPS();
584}
585
586
587void FullCodeGenerator::EmitMathSqrt(ZoneList<Expression*>* args) {
588 UNIMPLEMENTED_MIPS();
589}
590
591
592void FullCodeGenerator::EmitMathLog(ZoneList<Expression*>* args) {
593 UNIMPLEMENTED_MIPS();
594}
595
596
597void FullCodeGenerator::EmitCallFunction(ZoneList<Expression*>* args) {
598 UNIMPLEMENTED_MIPS();
599}
600
601
602void FullCodeGenerator::EmitRegExpConstructResult(ZoneList<Expression*>* args) {
603 UNIMPLEMENTED_MIPS();
604}
605
606
607void FullCodeGenerator::EmitSwapElements(ZoneList<Expression*>* args) {
608 UNIMPLEMENTED_MIPS();
609}
610
611
612void FullCodeGenerator::EmitGetFromCache(ZoneList<Expression*>* args) {
613 UNIMPLEMENTED_MIPS();
614}
615
616
617void FullCodeGenerator::EmitIsRegExpEquivalent(ZoneList<Expression*>* args) {
618 UNIMPLEMENTED_MIPS();
619}
620
621
622void FullCodeGenerator::EmitHasCachedArrayIndex(ZoneList<Expression*>* args) {
623 UNIMPLEMENTED_MIPS();
624}
625
626
627void FullCodeGenerator::EmitGetCachedArrayIndex(ZoneList<Expression*>* args) {
628 UNIMPLEMENTED_MIPS();
629}
630
631
632void FullCodeGenerator::EmitFastAsciiArrayJoin(ZoneList<Expression*>* args) {
633 UNIMPLEMENTED_MIPS();
634}
635
636
ager@chromium.org5c838252010-02-19 08:53:10 +0000637void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) {
638 UNIMPLEMENTED_MIPS();
639}
640
641
642void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
643 UNIMPLEMENTED_MIPS();
644}
645
646
647void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
648 UNIMPLEMENTED_MIPS();
649}
650
651
lrn@chromium.org7516f052011-03-30 08:52:27 +0000652void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000653 UNIMPLEMENTED_MIPS();
654}
655
656
lrn@chromium.org7516f052011-03-30 08:52:27 +0000657bool FullCodeGenerator::TryLiteralCompare(Token::Value op,
658 Expression* left,
659 Expression* right,
660 Label* if_true,
661 Label* if_false,
662 Label* fall_through) {
663 UNIMPLEMENTED_MIPS();
664 return false;
665}
666
667
ager@chromium.org5c838252010-02-19 08:53:10 +0000668void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) {
669 UNIMPLEMENTED_MIPS();
670}
671
672
lrn@chromium.org7516f052011-03-30 08:52:27 +0000673void FullCodeGenerator::VisitCompareToNull(CompareToNull* expr) {
674 UNIMPLEMENTED_MIPS();
675}
676
677
ager@chromium.org5c838252010-02-19 08:53:10 +0000678void FullCodeGenerator::VisitThisFunction(ThisFunction* expr) {
679 UNIMPLEMENTED_MIPS();
680}
681
682
lrn@chromium.org7516f052011-03-30 08:52:27 +0000683Register FullCodeGenerator::result_register() {
684 UNIMPLEMENTED_MIPS();
685 return v0;
686}
ager@chromium.org5c838252010-02-19 08:53:10 +0000687
688
lrn@chromium.org7516f052011-03-30 08:52:27 +0000689Register FullCodeGenerator::context_register() {
690 UNIMPLEMENTED_MIPS();
691 return cp;
692}
693
694
695void FullCodeGenerator::EmitCallIC(Handle<Code> ic, RelocInfo::Mode mode) {
696 UNIMPLEMENTED_MIPS();
697}
ager@chromium.org5c838252010-02-19 08:53:10 +0000698
699
700void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) {
701 UNIMPLEMENTED_MIPS();
702}
703
704
705void FullCodeGenerator::LoadContextField(Register dst, int context_index) {
706 UNIMPLEMENTED_MIPS();
707}
708
709
710// ----------------------------------------------------------------------------
711// Non-local control flow support.
712
713void FullCodeGenerator::EnterFinallyBlock() {
714 UNIMPLEMENTED_MIPS();
715}
716
717
718void FullCodeGenerator::ExitFinallyBlock() {
719 UNIMPLEMENTED_MIPS();
720}
721
722
723#undef __
724
725} } // namespace v8::internal
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000726
727#endif // V8_TARGET_ARCH_MIPS