| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 0591674bb2203d6d0575c0b9a773237caad4a63f..c381421620d21688e4a366b63b0d529aa1c48952 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -1,4 +1,4 @@
|
| -// Copyright 2006-2009 the V8 project authors. All rights reserved.
|
| +// Copyright 2011 the V8 project authors. All rights reserved.
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| // met:
|
| @@ -29,6 +29,7 @@
|
| #define V8_IC_H_
|
|
|
| #include "macro-assembler.h"
|
| +#include "type-info.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -191,6 +192,10 @@ class IC_Utility {
|
|
|
|
|
| class CallICBase: public IC {
|
| + public:
|
| + class Contextual: public BitField<bool, 0, 1> {};
|
| + class StringStubState: public BitField<StringStubFeedback, 1, 1> {};
|
| +
|
| protected:
|
| CallICBase(Code::Kind kind, Isolate* isolate)
|
| : IC(EXTRA_CALL_FRAME, isolate), kind_(kind) {}
|
| @@ -231,6 +236,7 @@ class CallICBase: public IC {
|
| void ReceiverToObjectIfRequired(Handle<Object> callee, Handle<Object> object);
|
|
|
| static void Clear(Address address, Code* target);
|
| +
|
| friend class IC;
|
| };
|
|
|
| @@ -242,11 +248,17 @@ class CallIC: public CallICBase {
|
| }
|
|
|
| // Code generator routines.
|
| - static void GenerateInitialize(MacroAssembler* masm, int argc) {
|
| - GenerateMiss(masm, argc);
|
| - }
|
| - static void GenerateMiss(MacroAssembler* masm, int argc);
|
| - static void GenerateMegamorphic(MacroAssembler* masm, int argc);
|
| + static void GenerateInitialize(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_ic_state) {
|
| + GenerateMiss(masm, argc, extra_ic_state);
|
| + }
|
| + static void GenerateMiss(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_ic_state);
|
| + static void GenerateMegamorphic(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_ic_state);
|
| static void GenerateNormal(MacroAssembler* masm, int argc);
|
| };
|
|
|
|
|