Fix compile of MIPS port

TBR=alexandre.rames@gmail.com
Review URL: http://codereview.chromium.org/870002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
sgjesse@chromium.org 2010-03-11 10:56:49 +00:00
parent 463ab046fa
commit 7def7afc23
4 changed files with 31 additions and 22 deletions

View File

@ -38,16 +38,6 @@ namespace internal {
void DeferredCode::Jump() { __ b(&entry_label_); } void DeferredCode::Jump() { __ b(&entry_label_); }
void CodeGenerator::GenerateMathSin(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS();
}
void CodeGenerator::GenerateMathCos(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS();
}
#undef __ #undef __
} } // namespace v8::internal } } // namespace v8::internal

View File

@ -31,6 +31,7 @@
#include "bootstrapper.h" #include "bootstrapper.h"
#include "codegen-inl.h" #include "codegen-inl.h"
#include "debug.h" #include "debug.h"
#include "ic-inl.h"
#include "parser.h" #include "parser.h"
#include "register-allocator-inl.h" #include "register-allocator-inl.h"
#include "runtime.h" #include "runtime.h"
@ -297,6 +298,16 @@ void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
} }
void CodeGenerator::GenerateMathCos(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS();
}
void CodeGenerator::GenerateMathSin(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS();
}
void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) { void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS(); UNIMPLEMENTED_MIPS();
} }
@ -335,7 +346,7 @@ void CodeGenerator::GenerateArgumentsLength(ZoneList<Expression*>* args) {
} }
void CodeGenerator::GenerateArgumentsAccess(ZoneList<Expression*>* args) { void CodeGenerator::GenerateArguments(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS(); UNIMPLEMENTED_MIPS();
} }
@ -429,6 +440,11 @@ bool CodeGenerator::HasValidEntryRegisters() { return true; }
#define __ ACCESS_MASM(masm) #define __ ACCESS_MASM(masm)
Handle<Code> GetBinaryOpStub(int key, BinaryOpIC::TypeInfo type_info) {
return Handle<Code>::null();
}
// On entry a0 and a1 are the things to be compared. On exit v0 is 0, // On entry a0 and a1 are the things to be compared. On exit v0 is 0,
// positive or negative to indicate the result of the comparison. // positive or negative to indicate the result of the comparison.
void CompareStub::Generate(MacroAssembler* masm) { void CompareStub::Generate(MacroAssembler* masm) {

View File

@ -154,6 +154,10 @@ class CodeGenerator: public AstVisitor {
// used by the debugger to patch the JS return sequence. // used by the debugger to patch the JS return sequence.
static const int kJSReturnSequenceLength = 6; static const int kJSReturnSequenceLength = 6;
// If the name is an inline runtime function call return the number of
// expected arguments. Otherwise return -1.
static int InlineRuntimeCallArgumentsCount(Handle<String> name);
private: private:
// Construction/Destruction. // Construction/Destruction.
explicit CodeGenerator(MacroAssembler* masm); explicit CodeGenerator(MacroAssembler* masm);
@ -188,6 +192,7 @@ class CodeGenerator: public AstVisitor {
struct InlineRuntimeLUT { struct InlineRuntimeLUT {
void (CodeGenerator::*method)(ZoneList<Expression*>*); void (CodeGenerator::*method)(ZoneList<Expression*>*);
const char* name; const char* name;
int nargs;
}; };
static InlineRuntimeLUT* FindInlineRuntimeLUT(Handle<String> name); static InlineRuntimeLUT* FindInlineRuntimeLUT(Handle<String> name);
@ -216,7 +221,7 @@ class CodeGenerator: public AstVisitor {
// Support for arguments.length and arguments[?]. // Support for arguments.length and arguments[?].
void GenerateArgumentsLength(ZoneList<Expression*>* args); void GenerateArgumentsLength(ZoneList<Expression*>* args);
void GenerateArgumentsAccess(ZoneList<Expression*>* args); void GenerateArguments(ZoneList<Expression*>* args);
// Support for accessing the class and value fields of an object. // Support for accessing the class and value fields of an object.
void GenerateClassOf(ZoneList<Expression*>* args); void GenerateClassOf(ZoneList<Expression*>* args);
@ -246,15 +251,11 @@ class CodeGenerator: public AstVisitor {
void GenerateRegExpExec(ZoneList<Expression*>* args); void GenerateRegExpExec(ZoneList<Expression*>* args);
void GenerateNumberToString(ZoneList<Expression*>* args); void GenerateNumberToString(ZoneList<Expression*>* args);
// Fast support for Math.pow(). // Fast call to math functions.
void GenerateMathPow(ZoneList<Expression*>* args); void GenerateMathPow(ZoneList<Expression*>* args);
// Fast support for Math.sqrt(). void GenerateMathSin(ZoneList<Expression*>* args);
void GenerateMathPow(ZoneList<Expression*>* args); void GenerateMathCos(ZoneList<Expression*>* args);
void GenerateMathSqrt(ZoneList<Expression*>* args);
// Fast support for Math.sin and Math.cos.
inline void GenerateMathSin(ZoneList<Expression*>* args);
inline void GenerateMathCos(ZoneList<Expression*>* args);
// Simple condition analysis. // Simple condition analysis.
enum ConditionAnalysis { enum ConditionAnalysis {

View File

@ -71,7 +71,7 @@ class VirtualFrame : public ZoneObject {
// Create a duplicate of an existing valid frame element. // Create a duplicate of an existing valid frame element.
FrameElement CopyElementAt(int index, FrameElement CopyElementAt(int index,
NumberInfo::Type info = NumberInfo::kUnknown); NumberInfo info = NumberInfo::Unknown());
// The number of elements on the virtual frame. // The number of elements on the virtual frame.
int element_count() { return elements_.length(); } int element_count() { return elements_.length(); }
@ -367,7 +367,7 @@ class VirtualFrame : public ZoneObject {
void EmitMultiPushReversed(RegList regs); // higher first void EmitMultiPushReversed(RegList regs); // higher first
// Push an element on the virtual frame. // Push an element on the virtual frame.
inline void Push(Register reg, NumberInfo::Type info = NumberInfo::kUnknown); inline void Push(Register reg, NumberInfo info = NumberInfo::Unknown());
inline void Push(Handle<Object> value); inline void Push(Handle<Object> value);
inline void Push(Smi* value); inline void Push(Smi* value);
@ -391,6 +391,8 @@ class VirtualFrame : public ZoneObject {
// 'a' registers are arguments register a0 to a3. // 'a' registers are arguments register a0 to a3.
void EmitArgumentSlots(RegList reglist); void EmitArgumentSlots(RegList reglist);
inline void SetTypeForLocalAt(int index, NumberInfo info);
private: private:
static const int kLocal0Offset = JavaScriptFrameConstants::kLocal0Offset; static const int kLocal0Offset = JavaScriptFrameConstants::kLocal0Offset;
static const int kFunctionOffset = JavaScriptFrameConstants::kFunctionOffset; static const int kFunctionOffset = JavaScriptFrameConstants::kFunctionOffset;