http://codereview.chromium.org/7283006/diff/2001/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right):
http://codereview.chromium.org/7283006/diff/2001/src/ia32/full-codegen-ia32.cc#newcode3550 src/ia32/full-codegen-ia32.cc:3550: __ mov(ecx, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset)); On 2011/06/30 06:41:25, Rico wrote:
I know that we explicitly check for this at the call sites (in
array.js and
string.js). But shouldn't we have a check for what we actually have in
eax to
guarantee that it is a JSFunction.
We explicitly have checks before. We will then go on and use %_CallFunction which does not check either. http://codereview.chromium.org/7283006/diff/2001/src/ia32/full-codegen-ia32.cc#newcode3558 src/ia32/full-codegen-ia32.cc:3558: __ j(not_equal, if_true); On 2011/06/30 06:41:25, Rico wrote:
You could consider having just one test instructions (non-byte
version) with (1
<< SharedFunctionInfo::kNative & 1 <<
SharedFunctionInfo::kStrictModeFunction) We could. This code is similar to what we do in apply. I'll keep them the same for now and we can see if it makes a performance difference. I don't think it will. http://codereview.chromium.org/7283006/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
