Index: src/arm/stub-cache-arm.cc |
=================================================================== |
--- src/arm/stub-cache-arm.cc (revision 2034) |
+++ src/arm/stub-cache-arm.cc (working copy) |
@@ -61,7 +61,9 @@ |
// Check that the flags match what we're looking for. |
__ ldr(offset, FieldMemOperand(offset, Code::kFlagsOffset)); |
- __ and_(offset, offset, Operand(~Code::kFlagsTypeMask)); |
+ __ and_(offset, |
+ offset, |
+ Operand(~(Code::kFlagsTypeMask | Code::kFlagsICInLoopMask))); |
Kasper Lund
2009/05/25 09:45:42
Why not have a constant mask for the combination o
|
__ cmp(offset, Operand(flags)); |
__ b(ne, &miss); |
@@ -494,7 +496,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
Since you've generalized the call site to take fla
|
// ----------- S t a t e ------------- |
// -- lr: return address |
// ----------------------------------- |
@@ -538,14 +541,15 @@ |
__ Jump(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
Same as above with type CONSTANT_FUNCTION.
|
// ----------- S t a t e ------------- |
// -- lr: return address |
// ----------------------------------- |
@@ -663,7 +667,7 @@ |
if (function->shared()->name()->IsString()) { |
function_name = String::cast(function->shared()->name()); |
} |
- return GetCode(CONSTANT_FUNCTION, function_name); |
+ return GetCodeWithFlags(flags, function_name); |
} |