- 12 Jul, 2011 1 commit
-
-
yangguo@chromium.org authored
R=vegorov@chromium.org TEST=cctest/test-dictionary Review URL: http://codereview.chromium.org/7349005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jul, 2011 1 commit
-
-
ricow@chromium.org authored
Due to issues relating mostly to chrome extensions we have lately been running into OOMs that are caused by our executable space running out. This change introduces flushing of code from regexps if we have not used the code for 5 mark sweeps. The approach is different from the normal function code flusing. Here we make a copy of the code inside the data array, and exchange the original code with a smi determined by the sweep_generation (a new heap variable increased everytime we do mark sweep/compact). If we encounter a smi in EnsureCompiled we simply reinstate the code object. If, in the marking phase of mark sweep, we find a regexp that already have a smi in the code field, and this is more than 5 generations old we flush the code from the saved index. Review URL: http://codereview.chromium.org/7282026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
BUG=v8:1479 TEST=test-api/SetPrototypeProperties Review URL: http://codereview.chromium.org/7229007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7216007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7170012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2011 2 commits
-
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/7187007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
This reverts commit ceb31498b9d69edca3260820fb4047045891ce6d. TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/7172030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2011 2 commits
-
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/7167006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/7148014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2011 1 commit
-
-
sgjesse@chromium.org authored
Ported r8238 (7803ed7) This commit would have also included changes to macro-assembler-mips.cc, however Kevin M. did those changes in later commit r8248. (thx!) BUG= TEST= Review URL: http://codereview.chromium.org//6995128 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jun, 2011 3 commits
-
-
danno@chromium.org authored
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs and Crankshaft code for many element operations. This is preparation to be able to share more code in the various element accessor implementations. Merge logic to maintain external array and fast element stub caches. BUG=none TEST=none Review URL: http://codereview.chromium.org/7112010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Introduce separate maps for function and with contexts. Use the function context map for testing whether a context is a function context (global contexts are no longer function contexts). Split the paths for allocating with and catch contexts. Rename some functions. Generally refactor code to make it simpler. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7003058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Under a flag without IC or Crankshaft support. BUG=none TEST=none Review URL: http://codereview.chromium.org/7089002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
BUG=1385 TEST=Existing tests still pass; running d8 with --dump-counters shows fewer polymorphic stubs being compiled Review URL: http://codereview.chromium.org/7094003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2011 2 commits
-
-
ager@chromium.org authored
plus a few other tweaks." The problem with the original patch was that it did not take hidden prototype objects into account in Runtime_GetPrototype. R=kmillikin@chromium.org,rossberg@chromium.org TEST=es5conform Review URL: http://codereview.chromium.org/7056041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/6966041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jun, 2011 1 commit
-
-
ager@chromium.org authored
This change caused errors in es5conform tests for getPrototypeOf. TBR=rossberg@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7109004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jun, 2011 1 commit
-
-
rossberg@chromium.org authored
R=kmillikin@chromium.org Review URL: http://codereview.chromium.org/7080053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 May, 2011 1 commit
-
-
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
-
- 30 May, 2011 1 commit
-
-
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
-
- 26 May, 2011 2 commits
-
-
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
-
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
-
- 24 May, 2011 3 commits
-
-
danno@chromium.org authored
R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7064029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8049 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
-
fschneider@chromium.org authored
There is no need for this long name. Review URL: http://codereview.chromium.org/7063017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2011 1 commit
-
-
danno@chromium.org authored
Reuse instance_descriptor field in the map to store additional flags when there are no descriptors. When descriptors get added to the map, move the flags to the DescriptorArray and access through indirection. Review URL: http://codereview.chromium.org/7033024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 May, 2011 1 commit
-
-
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
-
- 18 May, 2011 1 commit
-
-
danno@chromium.org authored
Better support for 'polymorphic' JS and external arrays Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation. Review URL: http://codereview.chromium.org/7036016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2011 2 commits
-
-
danno@chromium.org authored
TBR=danno@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps. Currently, the only array types supported by the MEGAMORPHIC stub are fast elements for objects and JSArrays. BUG= TEST= Review URL: http://codereview.chromium.org/6894003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2011 2 commits
-
-
rossberg@chromium.org authored
1) Add new type JSProxy for representing proxy objects. Currently devoid of functionality, i.e., all properties are undefined. 2) Some rudimentary global $Proxy functions to create proxies. Next step: Hook up getProperty and getOwnProperty handlers. Will probably require introducing a new LookupResult type, which is a mixture of INTERCEPTOR (handles any property) and CALLBACK (calls back to JS). Can we unify this somehow? TODO: Should probably rename existing Proxy type to something like "Foreign", to avoid confusion. Review URL: http://codereview.chromium.org/6932068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
for builtin functions. Review URL: http://codereview.chromium.org/7012012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 May, 2011 1 commit
-
-
ager@chromium.org authored
This way it is counted and the rounding of the size will just work without extra tweaking if you want to add an extra field to code objects. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6969037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 May, 2011 1 commit
-
-
ricow@chromium.org authored
We currently hit an assertion in computeflags, but the extra_ic_state is used to pass the strict mode flag in. BUG: 1383 Review URL: http://codereview.chromium.org/7003022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2011 1 commit
-
-
svenpanne@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2011 1 commit
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6902029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Apr, 2011 1 commit
-
-
jkummerow@chromium.org authored
BUG=None TEST=mjsunit/external-arrays.js; updated cctest; existing unit tests Review URL: http://codereview.chromium.org/6879009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2011 3 commits
-
-
jkummerow@chromium.org authored
TEST=existing unit tests still pass Review URL: http://codereview.chromium.org/6821009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
There is currently a bug in cpplint.py hiding this problem. R=sgjesse@chromium.org BUG=1304 TEST=none Review URL: http://codereview.chromium.org/6820028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
All platforms are now using the TypeRecordingBinaryOpStub. I also removed the ARM IntegerModStub which was called from the GenericBinaryOpStub. Review URL: http://codereview.chromium.org/6826032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-