Opened 6 years ago

Closed 4 hours ago

#744 closed task (worksforme)

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

Reported by: felix Owned by: felix
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 5 years ago by felix

  • Owner set to felix
  • Status changed from new to assigned

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 5 years ago by felix

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 15 months ago by sjamaan

  • Estimated difficulty set to medium

comment:4 Changed 4 hours ago by felix

  • Resolution set to worksforme
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.