- 25 May, 2011 1 commit
-
-
ager@chromium.org authored
Port of r8040 to mips. Original commit message: 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. BUG= TEST= Review URL: http://codereview.chromium.org/6992051 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2011 18 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
-
whesse@chromium.org authored
BUG=v8:1406 TEST=fast/canvas/canvas-putImageData.html Review URL: http://codereview.chromium.org/7067028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6966033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org//7059015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/7063021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/7066019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8034 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
-
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
-
vegorov@chromium.org authored
- correctly display time spent in scavenger (it was attributed to 'other' scope). - display time spent in 'external' scope. Review URL: http://codereview.chromium.org/7067022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
The current json parser and scanner inherits fromt he normal scanners and parsers, which are more complicated than we need for parsing json. The supplied scanner works directly on the string supplied and has a fast case mode for scanning only ascii characters (it will simply create a substring or a symbol directly from the existing string). To allow for creating symbols from a substring I have added a SubStringAsciiSymbolKey that creates the hash based from our string without extracting the sub-string. In case we need to add the symbol it simply creates the symbol directly from the characters inside the given string. Review URL: http://codereview.chromium.org/7039037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When deoptimizing to just after an ignored (because of a duplicate property name) object literal property initializer, we incorrectly saw the value of the initializer expression on the stack in the unoptimized code. The bug affected x64 only. R=fschneider@chromium.org BUG=v8:1404 Review URL: http://codereview.chromium.org/7066015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8028 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
-
danno@chromium.org authored
R=karlklose@chromium.org BUG=none TEST=existing tests Review URL: http://codereview.chromium.org/7067018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
We don't need to assert the existence of a length-property of the arguments object because it is not a JSArray, but just a normal JSObject. BUG=v8:1227 Review URL: http://codereview.chromium.org/7064020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8024 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
-
sgjesse@chromium.org authored
Make mips-specifc changes for r7999, r8001, r8002. Also bring in changes for older commits 7203, 7279, 7693, 7715, 7788. Mips changes for 7715 (Arm: Support hardfloat in SCons build), and 7693 (Implement hardfloat calling convention in macro assembler and simulator) resulted in changes to SConstruct. BUG= TEST= Review URL: http://codereview.chromium.org//6966031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2011 21 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
-
karlklose@chromium.org authored
KeyedLoadStubCompiler::GenerateLoadExternalArray is tail-calling a stub, which it is not allowed to, because its major key is higher than InstanceOf. Instead of changing the major key I decided to provide an inline implementation. TEST=test-api/ExternalArrays with --noenable-vfp3 R=danno@chromium.org Review URL: http://codereview.chromium.org/7060007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/7062007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ager@chromium.org BUG=none TEST=test/mjsunit/external-array.js Review URL: http://codereview.chromium.org/7058011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7999 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
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/7059012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/7062003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7993 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
-
sgjesse@chromium.org authored
BUG=none TEST=none Committed: http://code.google.com/p/v8/source/detail?r=7909 Reverted in r7916. Review URL: http://codereview.chromium.org//7021007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/7058008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/6974008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Why did it ever work? Review URL: http://codereview.chromium.org/6990035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Bit tests with a memory operand should be avoided on Intel processors. On Atom bts with a memory operand has 10~11 cycles latency and on Core 2 it has 5~6 cycles latency, and also produces multiple uops. If the bit base operand is a register the latency is 1 cycle instead. This CL improves several cases from Kraken 1.1 benchmark on Atom. For example, 12% for imaging-desaturate, 8% for audio-fft, and 5% for audio-beat-detection. Review URL: http://codereview.chromium.org//7048003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/7060006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7986 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
-
rossberg@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
changes to unblock V8 release. Revert "Adding DateTimeFormat class to i18n API with following methods:" Revert "Some internal methods are requested when v8 is built as DLL (V8_SHARED), and" R=sgjesse@chromium.org Review URL: http://codereview.chromium.org/7060005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Updated to include fixes to several mips arch-specific files, corresponding to recent changes in r7944, r7935, r7926, r7914, r7910, r7895, and parts of r7423, which had previously been missed for mips. Rebased on r7964. The simulator changes were missed on r7893 for code-stubs-mips, where the DirectCEntry stuff was added. There are also a couple small changes to builtins-mips following r7879 for the other architectures. BUG= TEST= Review URL: http://codereview.chromium.org//7042031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Fixed pretty printing of typeof/delete/void expressions. Put spaces around binary operations and comparisons to improve readability. Review URL: http://codereview.chromium.org/7055008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-