Opened 9 years ago

Closed 3 years ago

#744 closed task (worksforme)

spock: implement non-trivial example and test on all platforms

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone:
Component: extensions Version: 4.7.x
Keywords: spock Cc:
Estimated difficulty: medium

Description

We need a non-trivial program that does something interesting and works on all browsers (in particular IE). The test-suite does not work everywhere but this is in part caused by it's sheer size. A confirmation about the fact that basic programs work everywhere would be helpful in deciding whether to put more work into spock.

Change History (4)

comment:1 Changed 9 years ago by felix winkelmann

Owner: set to felix winkelmann
Status: newassigned

There is a modified implementation in branches/nothrow that doesn't use throw for unwinding (this makes debugging much easier and also seems to be necessary for IE). I'm not sure wether it works fully, my last attempts were not successful.

Anyway, needs to be merged.

comment:2 Changed 9 years ago by felix winkelmann

Marc Feeley suggests replacing calls to SPOCK.count with code that inlines the test:

By the way, I think performance would improve if you changed the calls:

function foo(k,a1,a2,a3)
{
  SPOCK.check(arguments);
  ...
}

to

function foo(k,a1,a2,a3)
{
  if (--SPOCK.check_count =3D=3D=3D 0) SPOCK.check(foo,k,a1,a2,a3);
  ...
}

This will avoid using "arguments", which causes most JavaScript VMs to =
not optimize the code, and it will poll intermittently.

This should be benchmarked. Also, the performance difference between the throw and nothrow variants must be measured.

comment:3 Changed 5 years ago by sjamaan

Estimated difficulty: medium

comment:4 Changed 3 years ago by felix winkelmann

Resolution: worksforme
Status: assignedclosed
Note: See TracTickets for help on using tickets.