Index: src/ia32/stub-cache-ia32.cc |
=================================================================== |
--- src/ia32/stub-cache-ia32.cc (revision 2034) |
+++ src/ia32/stub-cache-ia32.cc (working copy) |
@@ -58,7 +58,7 @@ |
// Check that the flags match what we're looking for. |
__ mov(offset, FieldOperand(offset, Code::kFlagsOffset)); |
- __ and_(offset, ~Code::kFlagsTypeMask); |
+ __ and_(offset, ~(Code::kFlagsTypeMask | Code::kFlagsICInLoopMask)); |
__ cmp(offset, flags); |
__ j(not_equal, &miss); |
@@ -470,7 +470,8 @@ |
Object* CallStubCompiler::CompileCallField(Object* object, |
JSObject* holder, |
int index, |
- String* name) { |
+ String* name, |
+ Code::Flags flags) { |
Kevin Millikin (Chromium)
2009/05/25 11:00:42
Same comment about ASSERT as in the ARM file.
|
// ----------- S t a t e ------------- |
// ----------------------------------- |
Label miss; |
@@ -511,14 +512,15 @@ |
__ jmp(ic, RelocInfo::CODE_TARGET); |
// Return the generated code. |
- return GetCode(FIELD, name); |
+ return GetCodeWithFlags(flags, name); |
} |
Object* CallStubCompiler::CompileCallConstant(Object* object, |
JSObject* holder, |
JSFunction* function, |
- CheckType check) { |
+ CheckType check, |
+ Code::Flags flags) { |
Kevin Millikin (Chromium)
2009/05/25 11:00:42
And here.
|
// ----------- S t a t e ------------- |
// ----------------------------------- |
Label miss; |
@@ -633,7 +635,7 @@ |
if (function->shared()->name()->IsString()) { |
function_name = String::cast(function->shared()->name()); |
} |
- return GetCode(CONSTANT_FUNCTION, function_name); |
+ return GetCodeWithFlags(flags, function_name); |
} |