Please take another look.
I fixed the length calculation, by doing it in JS.
I also had to fix the proxies-function test, because we now need to have a
length property on the function proxy. Fixed the layout and added missing
semicolons while I was there (semicolons: it's not just a good idea, it's the
law).


http://codereview.chromium.org/8199004/diff/1/src/runtime.cc
File src/runtime.cc (right):

http://codereview.chromium.org/8199004/diff/1/src/runtime.cc#newcode7993
src/runtime.cc:7993: bindee = Execution::GetFunctionDelegate(bindee);
I think it's an easy fix, if we just read the length from JavaScript and
pass it as an argument to the runtime function.
Reading the spec for .bind, there doesn't appear to be any user-visible
action between checking for the input being callable and reading the
length property: "Let L be the length property of Target minus the
length of A". I guess this is one of the cases that need to be rewritten
to account for proxies (because it assumes that it is a function, so it
has an unconfigurable integer own property called "length", so we don't
have to be explicit about using [[Get]] and doing conversions).

http://codereview.chromium.org/8199004/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to