- 22 Feb, 2012 11 commits
-
-
vegorov@chromium.org authored
Modify PreProcessOsrEntry to work with OSR entries that have non-empty expression stack. Modify graph builder to take for-in state from environment instead of directly referencing emitted instructions. Extend %OptimizeFunctionOnNextCall with an argument to force OSR to make writing OSR tests easier: %OptimizeFunctionOnNextCall(f, "osr"). R=fschneider@chromium.org TEST=test/mjsunit/compiler/optimized-for-in.js Review URL: https://chromiumcodereview.appspot.com/9431030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9432026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Only JSObject enumerables with enum cache (fast case properties, no interceptors, no enumerable properties on the prototype) are supported. HLoadKeyedGeneric with keys produced by for-in enumeration are recognized and rewritten into direct property load by index. For this enum-cache was extended to store property indices in a separate array (see handles.cc). New hydrogen instructions: - HForInPrepareMap: checks for-in fast case preconditions and returns map that contains enum-cache; - HForInCacheArray: extracts enum-cache array from the map; - HCheckMapValue: map check with HValue map instead of immediate; - HLoadFieldByIndex: load fast property by it's index, positive indexes denote in-object properties, negative - out of object properties; Changed hydrogen instructions: - HLoadKeyedFastElement: added hole check suppression for loads from internal FixedArrays that are knows to have no holes inside. R=fschneider@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9425045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:1943 TEST= Review URL: https://chromiumcodereview.appspot.com/9428027 Patch from Jonathan Liu <net147@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:1962 TEST= Review URL: https://chromiumcodereview.appspot.com/9430044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9416092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9430043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=vegorov@google.com,yangguo@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9430011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This CL is an intermediate step only, in the end we need to have a single DefineOrRedefineAccessorProperty call for a single Object.defineProperty call. Currently we can end up making two such calls, making the necessary access checks extremely ugly and hard (impossible?) to get right for complete spec conformance. The bulk of the change is quite mechanical: * Prepare an AccessorPair *before* we add it to our data structures, eliminating the previous voodoo-like threading of a placeholder. * The previous item makes it possible to activate our check that we do not share AccessorPairs by accident. * Split a monster method into 2 quite unrelated methods. * Use templated To method in a few places. Review URL: https://chromiumcodereview.appspot.com/9428026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9430042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:1963 TEST=run preparser with no command line arguments Review URL: https://chromiumcodereview.appspot.com/9431028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Feb, 2012 10 commits
-
-
fschneider@chromium.org authored
Pass the zone explicitly to avoid calling Isolate::Current()->zone(). Review URL: https://chromiumcodereview.appspot.com/9430002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Replaced multiple calls to AddNumber with a single AddString. AddNumber may now print the value directly into the output buffer. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9395087 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
when Object.isExtensible(o) === false Added corresponding tests ES5 description: http://es5.github.com/#x11.13.1 Related issue: http://code.google.com/p/v8/issues/detail?id=1901 Contributed by ioseb.dzmanashvili@gmail.com BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9429002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=rossberg@chromium.org Review URL: https://chromiumcodereview.appspot.com/9428001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Runtime_DefineOrRedfineAccessorProperty basically does the same, so we have 1 code path less to worry about. Review URL: https://chromiumcodereview.appspot.com/9424033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
This makes LFunctionLiteral safe even when it is used from inside inlined function. All other architectures were implementing LFunctionLiteral correctly. R=mstarzinger@chromium.org TEST=test/mjsunit/regress/regress-inlining-function-literal-context.js Review URL: https://chromiumcodereview.appspot.com/9425061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/9425059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
in 64 bit spill slots. Review URL: https://chromiumcodereview.appspot.com/9378006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Port r10700 (c976fbd5). Original commit message: This change enables optimization of top-level and eval-code. For this to work, it adds support for declaring global variables in optimized code. At the same time it disables the eager generation of deoptimization support data in the full code generator (originally introduced in r10040). This speeds up initial compilation and saves memory for functions that won't be optimized. It requires recompiling the function with deoptimization support when we decide to optimize it. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9418006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
The bulk of this CL is purely mechanical: Make the CONVERT_FOO macros more uniform by always using an index instead of an object. Apart from this, it includes a few minor changes like using CONVERT_SMI_ARG_CHECKED a bit more or introducing a new macro for PropertyDetails. Nothing spectacular, just something sitting on my disk for quite some time now... Review URL: https://chromiumcodereview.appspot.com/9395075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2012 19 commits
-
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org TEST=cctest/test-regexp/CharacterClassEscapes Review URL: https://chromiumcodereview.appspot.com/9425050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/S15.10.2.12_A?_T1,mjsunit/regexp Review URL: https://chromiumcodereview.appspot.com/9426032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org (reviewed offline) git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
A GC in the access check callbacks NamedSecurityCallback and IndexedSecurityCallback violates the contract about these callbacks. Added a EXTERNAL VMState scope around the call to FailedAccessCheckCallback to be consistent with the other callback invocations. BUG=v8:1952 TEST=cctest/test-api/TurnOnAccessCheckAndRecompile Review URL: https://chromiumcodereview.appspot.com/9425048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9426034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/9421036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Module definitions are not compiled or otherwise executed yet. Toplevel module identifiers are bound but never initialized. R=kmillikin@chromium.org,mstarzinger@google.com BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9401008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
* Turned all uses of 'const' into 'var'. * Turned all uses of local 'function' into 'var'. * Added a couple of missing toplevel 'var' declarations. One consequence is that the properties on the builtin object are no longer non-writable, and I had to adapt one test. Is that a problem? Unfortunately, we cannot actually switch the library scripts to strict mode by default, because that makes observable things like poisoned .caller properties for library functions. Also removed dead flag code in Compiler::Compile. R=yangguo@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9415010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9423041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/9427011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9372021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/9427010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Hidden behind --type-info-threshold=X flag, usage dependent on experimental profiler. Review URL: https://chromiumcodereview.appspot.com/9403009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=yangguo@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9424032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=v8:1960 TEST=compile with GYPFLAGS=-Dv8_compress_snapshot_data=bz2, then run d8 with valgrind Review URL: https://chromiumcodereview.appspot.com/9395073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Function calls that may return a failure must use the result. Enforce this by adding missing MUST_USE_RESULT to their declarations. Review URL: https://chromiumcodereview.appspot.com/9421032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=mozilla,sputnik Review URL: https://chromiumcodereview.appspot.com/9421031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
To test the upcoming changes for map sharing in the presence of accessors, it is essential that we keep a few global invariants: The map tree should always stay a tree and AccessorPairs should not be shared between different DescriptorArrays and/or StringDictionaries. This CL adds a test method for the latter invariant and makes some changes to the bootstrapping process to avoid such sharing. Note that we can't enable the new test method permanently yet, because we currently go back and forth between fast mode and slow mode when adding an accessor and break this invariant temporarily. This will be handled in a separate CL. Review URL: https://chromiumcodereview.appspot.com/9417043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/S15.5.4.14_A?_T? Review URL: https://chromiumcodereview.appspot.com/9355005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-