- 31 May, 2011 5 commits
-
-
rossberg@chromium.org authored
- Introduce a class JSReceiver, that is a common superclass of JSObject and JSProxy. Use JSReceiver where appropriate (probably lots of places that we still have to migrate, but we will find those later with proxy test suite). - Move appropriate methods to JSReceiver class (SetProperty, GetPropertyAttribute, Get/SetPrototype, Lookup, and so on). - Introduce new JSFunctionProxy subclass of JSProxy. Currently only a stub. - Overhaul enum InstanceType: * Introduce FIRST/LAST_SPEC_OBJECT_TYPE that ranges over all types that represent JS objects, and use that consistently to check language types. * Rename FIRST/LAST_JS_OBJECT_TYPE and FIRST/LAST_FUNCTION_CLASS_TYPE to FIRST/LAST_[NON]CALLABLE_SPEC_OBJECT_TYPE for clarity. * Eliminate the overlap over JS_REGEXP_TYPE. * Also replace FIRST_JS_OBJECT with FIRST_JS_RECEIVER, but only use it where we exclusively talk about the internal representation type. * Insert JS_PROXY and JS_FUNCTION_PROXY in the appropriate places. - Fix all checks concerning classification, especially for functions, to use the CALLABLE_SPEC_OBJECT range (that includes funciton proxies). - Handle proxies in SetProperty (that was the easiest part :) ). - A few simple test cases. R=kmillikin@chromium.org Review URL: http://codereview.chromium.org/6992072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Introduce a Hydrogen value for the value denoted by the function name. R=fschneider@chromium.org,mnaganov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7083024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Do not convert to object for values for strict-mode functions and builtins. R=ricow@chromium.org BUG=v8:1412 TEST=mjsunit/regress/regress-1412.js Review URL: http://codereview.chromium.org/7096006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Our testing infrastructure uses exceptions to indicate errors. assertUnreachable therefore throws an exception to indicate that it was reached. Therefore, it cannot be used to check that an exception was thrown using the pattern: try { shouldThrow(); assertUnreachable(); } catch(e) { } Such a test will always pass because assertUnreachable will throw an exception if shouldThrow does not. R=ricow@chromium.org Review URL: http://codereview.chromium.org/7053035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
potentially shadowed by eval. R=sgjesse@chromium.org TEST=mjsunit/regress/regress-124.js Review URL: http://codereview.chromium.org/7096004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 May, 2011 7 commits
-
-
mikhail.naganov@gmail.com authored
This allows to distinguish DOMWindow objects in browser from each other. R=vitalyr@chromium.org,sgjesse@chromium.org BUG=https://bugs.webkit.org/show_bug.cgi?id=61177 TEST=cctest/test-heap-profiler/DocumentURL Review URL: http://codereview.chromium.org/7082012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
implicit receiver. A couple of corner cases have to be treated specially to not break everything: eval and getter/setter definitions. R=fschneider@chromium.org BUG=v8:1365 TEST=mjsunit/regress/regress-1365.js Review URL: http://codereview.chromium.org/7085034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Make the call kind and call wrapper arguments explicit to force developers to make a choice. This would have avoided the bug in the first case. R=fschneider@chromium.org TEST=mjsunit/strict-mode-implicit-receiver.js Review URL: http://codereview.chromium.org/7086029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/7085031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The approach is to handle the common case in the optimizing compiler and to bailout for the rare corner cases. This is done by initializing all local const-variables with the hole value and disallowing any use of the hole value statically. Review URL: http://codereview.chromium.org/6026006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/7089003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Correctly set the length of string before creating filler object in the json parser (fixes crbug 84186). Testcase created based on the supplied test case from the bug report, but using json parse directly instead of through the chrome javascript console. Review URL: http://codereview.chromium.org/7084023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 May, 2011 5 commits
-
-
danno@chromium.org authored
Implement truncation of double and tagged values when assigning to an element of a typed arrays in order to avoid depots. BUG=1313 TEST=test/mjsunit/external-array.js Review URL: http://codereview.chromium.org/6961019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Presubmit and failing test. TBR=lrn@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7071009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
R=whesse@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7062018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
A couple of corner cases have to be treated specially to not break everything: eval and getter/setter definitions. R=lrn@chromium.org BUG=v8:1365 TEST=mjsunit/regress/regress-1365.js Review URL: http://codereview.chromium.org/7068009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/6930006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2011 2 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/6987009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
We currently throw when there is only a getter defined on the property, but this should only be the case in strict mode. Review URL: http://codereview.chromium.org/7064027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2011 5 commits
-
-
lrn@chromium.org authored
Small fixes. Added test for const declaration in strict mode. TEST=preparser/strict-function-statement Review URL: http://codereview.chromium.org/6990056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Only IA32 version for now. I'll start porting. Strict mode functions are to get 'undefined' as the receiver when called with an implicit receiver. Modes are bad! It forces us to have checks on all function calls. This change attempts to limit the cost by passing information about whether or not a call is with an implicit or explicit receiver in ecx as part of the calling convention. The cost is setting ecx on all calls and checking ecx on entry to strict mode functions. Implicit/explicit receiver state has to be maintained by ICs. Various stubs have to not clobber ecx or save and restore it. CallFunction stub needs to check if the receiver is implicit when it doesn't know from the context. Review URL: http://codereview.chromium.org/7039036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=ager@chromium.org BUG=v8:1403 TEST=test/mjsunit/regress/regress-1403.js Review URL: http://codereview.chromium.org//7067019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
We are now following the spec, and with regards to the error message we are following firefox (webkit still has different type errors in their nightly) Review URL: http://codereview.chromium.org/7067017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This change supports all non-crankshaft features except serialization. This must be built after the changes in http://codereview.chromium.org/6966031 are landed. BUG= TEST= Review URL: http://codereview.chromium.org//7039058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2011 5 commits
-
-
vitalyr@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/7066004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7059013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=ager@chromium.org BUG=v8:1401 TEST=test/regress/regress-1401.js Review URL: http://codereview.chromium.org//7062002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/6974009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
This makes it possible to get total coverage without creating thousands of individual test files. Review URL: http://codereview.chromium.org/7061008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
A follow up to r7949 R=vitalyr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7040014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 May, 2011 4 commits
-
-
rossberg@chromium.org authored
Also fix grokdump, which was off by one after intro of JSProxy type. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Now tests for use of eval, arguments, reserved words and with statement. Review URL: http://codereview.chromium.org/7037024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
R=sgjesse@chromium.org,vitalyr@chromium.org BUG=1398 TEST=cctest/test-cpu-profiler/Issue1398 Review URL: http://codereview.chromium.org/7046001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
R=ricow@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7046002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2011 2 commits
-
-
http://crbug.com/82769vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/7034025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
In the case where the default-clause occurs as the first clause, the case-blocks were not wired up correctly. BUG=v8:1394 TEST=mjsunit/compiler/regress-1394.js Review URL: http://codereview.chromium.org/7037023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2011 2 commits
-
-
vegorov@chromium.org authored
Garbage collector is free to ignore object groups for independent handles and can collect then in minor collections. Review URL: http://codereview.chromium.org/7031005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Add HForceRepresentation, to represent the implicit ToNumber applied to the input of a count operation. BUG=v8:1389 TEST= Review URL: http://codereview.chromium.org/7033008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 May, 2011 2 commits
-
-
rossberg@chromium.org authored
TODO: reflective Object methods not handled yet. BUG= TEST= Review URL: http://codereview.chromium.org/7035007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
BUG=1313 TEST=test/mjsunit/external-array.js Review URL: http://codereview.chromium.org/7014033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-