- 05 Nov, 2015 1 commit
-
-
verwaest authored
This fixes receiver conversion since the Call builtin does it correctly. BUG=v8:4526 LOG=n Review URL: https://codereview.chromium.org/1407373007 Cr-Commit-Position: refs/heads/master@{#31823}
-
- 04 Nov, 2015 3 commits
-
-
cbruni authored
The current implementation of classes throws the TypeError at the wrong point, after activating a new context when directly calling a class constructor. According to the spec, the TypeError has to be thrown in the caller context. LOG=N BUG=v8:4428 Committed: https://crrev.com/6a06bc0a774933719f62009d81b3f1686d83bb90 Cr-Commit-Position: refs/heads/master@{#31786} Review URL: https://codereview.chromium.org/1418623007 Cr-Commit-Position: refs/heads/master@{#31790}
-
cbruni authored
Revert of [runtime] Fix ES6 9.2.1 [[Call]] when encountering a classConstructor. (patchset #20 id:370001 of https://codereview.chromium.org/1418623007/ ) Reason for revert: failing build bot Original issue's description: > [runtime] Fix ES6 9.2.1 [[Call]] when encountering a classConstructor. > > The current implementation of classes throws the TypeError at the wrong > point, after activating a new context when directly calling a class > constructor. According to the spec, the TypeError has to be thrown > in the caller context. > > LOG=N > BUG=v8:4428 > > Committed: https://crrev.com/6a06bc0a774933719f62009d81b3f1686d83bb90 > Cr-Commit-Position: refs/heads/master@{#31786} TBR=bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4428 Review URL: https://codereview.chromium.org/1415783006 Cr-Commit-Position: refs/heads/master@{#31787}
-
cbruni authored
The current implementation of classes throws the TypeError at the wrong point, after activating a new context when directly calling a class constructor. According to the spec, the TypeError has to be thrown in the caller context. LOG=N BUG=v8:4428 Review URL: https://codereview.chromium.org/1418623007 Cr-Commit-Position: refs/heads/master@{#31786}
-
- 29 Oct, 2015 1 commit
-
-
mvstanton authored
We have plans to create more ICs, and we are out of bits to represent the Kind in the flags field of the code object. The InlineCacheState can lose a bit because it no longer needs the DEFAULT state. That state existed as a way to detect errors where code incorrectly looked at a vector IC stub's InlineCacheState instead of correctly determining said state from a glance at the vector. This really isn't a danger anymore. So, with the horse trading, we could now represent up to 32 code kinds. BUG= Review URL: https://codereview.chromium.org/1427803003 Cr-Commit-Position: refs/heads/master@{#31666}
-
- 28 Oct, 2015 1 commit
-
-
mbrandy authored
For platforms that use function descriptors (currently AIX and PPC64BE), log an external callback's entrypoint address rather than its function descriptor address. This allows proper lookup in the tick processor's symbol table. R=jkummerow@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1409993006 Cr-Commit-Position: refs/heads/master@{#31633}
-
- 07 Oct, 2015 1 commit
-
-
adamk authored
Previously, arrow function scopes had a separate ScopeType. However, Scope::DeserializeScopeChain() erroneously deserialized ARROW_SCOPE ScopeInfos as FUNCTION_SCOPE. This could lead to bugs such as the attached one, where "super" was disallowed where it should have been allowed. This patch utilizes the Scope's FunctionKind to distinguish arrow functions from others. Besides fixing the above bug, this also simplifies code in various places that had to deal with two different ScopeTypes both of which meant "function". BUG=v8:4466 LOG=n Review URL: https://codereview.chromium.org/1386253002 Cr-Commit-Position: refs/heads/master@{#31154}
-
- 01 Oct, 2015 1 commit
-
-
ishell authored
This CL also allows to use arbitrary number of feedback vector elements for particular slot kind. Review URL: https://codereview.chromium.org/1370303004 Cr-Commit-Position: refs/heads/master@{#31050}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 29 Sep, 2015 1 commit
-
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 24 Sep, 2015 3 commits
-
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4413, v8:4430 LOG=n Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 Cr-Commit-Position: refs/heads/master@{#30900} Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30902}
-
bmeurer authored
Revert of [es6] Introduce spec compliant IsConstructor. (patchset #2 id:20001 of https://codereview.chromium.org/1358423002/ ) Reason for revert: Failed on Fuzzer and MIPS bot. Original issue's description: > [es6] Introduce spec compliant IsConstructor. > > There was already a bit on the Map named "function with prototype", > which basically meant that the Map was a map for a JSFunction that could > be used as a constructor. Now this CL generalizes that bit to > IsConstructor, which says that whatever (Heap)Object you are looking at > can be used as a constructor (i.e. the bit is also set for bound > functions that can be used as constructors and proxies that have a > [[Construct]] internal method). > > This way we have a single chokepoint for IsConstructor checking, which > allows us to get rid of the various ways in which we tried to guess > whether something could be used as a constructor or not. > > Drive-by-fix: Renamed IsConstructor on FunctionKind to > IsClassConstructor to resolve the weird name clash, and the > IsClassConstructor name also matches the spec. > > R=jarin@chromium.org, rossberg@chromium.org > BUG=v8:4430 > LOG=n > > Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 > Cr-Commit-Position: refs/heads/master@{#30900} TBR=jarin@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4430 Review URL: https://codereview.chromium.org/1360403002 Cr-Commit-Position: refs/heads/master@{#30901}
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30900}
-
- 22 Sep, 2015 1 commit
-
-
bmeurer authored
Introduce new builtins Construct and ConstructFunction (in line with the Call and CallFunction builtins that we already have) as proper bottleneck for Construct and [[Construct]] on JSFunctions. Use these builtins to support passing NewTarget from C++ to JavaScript land. Long-term we want the CallConstructStub to be used for gathering feedback on entry to construction chain (i.e. the initial new Foo), and use the Construct builtins to do the actual work inside the construction chain (i.e. calling into super and stuff). MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com. R=jarin@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1359583002 Cr-Commit-Position: refs/heads/master@{#30857}
-
- 01 Sep, 2015 1 commit
-
-
mstarzinger authored
R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1302413007 Cr-Commit-Position: refs/heads/master@{#30514}
-
- 21 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1302293002 Cr-Commit-Position: refs/heads/master@{#30291}
-
- 11 Aug, 2015 1 commit
-
-
mstarzinger authored
This is the first step of turning the v8.h file into a normal header instead of an include-the-world header. The new rule is that no other header files are allowed to include v8.h, which is enforced by DEPS. Also the number of includes inside the v8.h file has been drastically reduced. Basically the last missing piece is the inclusion of the big objects-inl.h file. This in turn makes many headers follow the IWYU principle. R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1282503003 Cr-Commit-Position: refs/heads/master@{#30102}
-
- 10 Aug, 2015 1 commit
-
-
bmeurer authored
TurboFan is now a requirement and supported by all backends, so we don't need those macros (plus all the machinery on top) anymore. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1282763002 Cr-Commit-Position: refs/heads/master@{#30082}
-
- 07 Aug, 2015 1 commit
-
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1281903002 Cr-Commit-Position: refs/heads/master@{#30071}
-
- 04 Aug, 2015 1 commit
-
-
yangguo authored
This is a pure refactor and does not change functionality. R=ulan@chromium.org Review URL: https://codereview.chromium.org/1264993002 Cr-Commit-Position: refs/heads/master@{#29995}
-
- 23 Jul, 2015 1 commit
-
-
rossberg authored
While at it, remove the notion of INTERNAL variables. @caitp: Took some parts from your CL, since I was blocked on the temp scope bug. R=mstarzinger@chromium.org BUG=512574 LOG=N Review URL: https://codereview.chromium.org/1250513004 Cr-Commit-Position: refs/heads/master@{#29812}
-
- 16 Jul, 2015 2 commits
-
-
bbudge authored
This CL exposes the constructor function, defines type related information, and implements value type semantics. It also refactors test/mjsunit/samevalue.js to test SameValue and SameValueZero. TEST=test/mjsunit/harmony/simd.js, test/cctest/test-simd.cc LOG=Y BUG=v8:4124 Committed: https://crrev.com/e5ed3bee99807c502fa7d7a367ec401e16d3f773 Cr-Commit-Position: refs/heads/master@{#29689} Review URL: https://codereview.chromium.org/1219943002 Cr-Commit-Position: refs/heads/master@{#29712}
-
hablich authored
Revert of Expose SIMD.Float32x4 type to Javascript. (patchset #14 id:450001 of https://codereview.chromium.org/1219943002/) Reason for revert: Seems to brake the latest roll into Chromium: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/59796/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > Expose SIMD.Float32x4 type to Javascript. > This CL exposes the constructor function, defines type related > information, and implements value type semantics. > It also refactors test/mjsunit/samevalue.js to test SameValue and SameValueZero. > > TEST=test/mjsunit/harmony/simd.js, test/cctest/test-simd.cc > > LOG=Y > BUG=v8:4124 > > Committed: https://crrev.com/e5ed3bee99807c502fa7d7a367ec401e16d3f773 > Cr-Commit-Position: refs/heads/master@{#29689} TBR=rossberg@chromium.org,littledan@chromium.org,martyn.capewell@arm.com,bbudge@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1241533004 Cr-Commit-Position: refs/heads/master@{#29701}
-
- 15 Jul, 2015 1 commit
-
-
bbudge authored
This CL exposes the constructor function, defines type related information, and implements value type semantics. It also refactors test/mjsunit/samevalue.js to test SameValue and SameValueZero. TEST=test/mjsunit/harmony/simd.js, test/cctest/test-simd.cc LOG=Y BUG=v8:4124 Review URL: https://codereview.chromium.org/1219943002 Cr-Commit-Position: refs/heads/master@{#29689}
-
- 06 Jul, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1218783005 Cr-Commit-Position: refs/heads/master@{#29498}
-
- 03 Jul, 2015 1 commit
-
-
titzer authored
Also add control inputs to 64-bit integer divide and modulus operations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1223613002 Cr-Commit-Position: refs/heads/master@{#29460}
-
- 16 Jun, 2015 1 commit
-
-
chunyang.dai authored
This patch includes the following changes. 1, Enable the turbofan backend support for X87 platform. It depends on previous CL: 3fdfebd2. 2, Enable the test cases which are disabled because turbofan for X87 was not enabled. BUG=v8:4135 LOG=N Review URL: https://codereview.chromium.org/1179763004 Cr-Commit-Position: refs/heads/master@{#29049}
-
- 09 Jun, 2015 1 commit
-
-
dusan.milosavljevic authored
Improves code size of generated regexp in TestSizeOfRegExpCode test by 33%. Execution time of the same test improved by ~10%. Utilizing code range for mips64 enable us to use J/JAL instructions for long branches. TEST=cctest/test-heap/TestSizeOfRegExpCode BUG= Review URL: https://codereview.chromium.org/1147503002 Cr-Commit-Position: refs/heads/master@{#28867}
-
- 08 Jun, 2015 1 commit
-
-
conradw authored
Boolean "is_strong" parameters have begun to proliferate across areas where strong mode semantics are different. This CL repurposes the existing ObjectStrength enum as a replacement for them. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1144183004 Cr-Commit-Position: refs/heads/master@{#28839}
-
- 04 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1162993006 Cr-Commit-Position: refs/heads/master@{#28801}
-
- 03 Jun, 2015 2 commits
-
-
bbudge authored
LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1153373003 Cr-Commit-Position: refs/heads/master@{#28797}
-
bmeurer authored
Revert of Embedded constant pools. (patchset #12 id:220001 of https://codereview.chromium.org/1131783003/) Reason for revert: Breaks Linux nosnap cctest/test-api/FastReturnValuesWithProfiler, see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/609/steps/Check/logs/FastReturnValuesWithP.. Original issue's description: > Add support for Embedded Constant Pools for PPC and Arm > > Embed constant pools within their corresponding Code > objects. > > This removes support for out-of-line constant pools in favor > of the new approach -- the main advantage being that it > eliminates the need to allocate and manage separate constant > pool array objects. > > Currently supported on PPC and ARM. Enabled by default on > PPC only. > > This yields a 6% improvment in Octane on PPC64. > > R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com > BUG=chromium:478811 > LOG=Y > > Committed: https://crrev.com/a9404029343d65f146e3443f5280c40a97e736af > Cr-Commit-Position: refs/heads/master@{#28770} TBR=rmcilroy@chromium.org,ishell@chromium.org,rodolph.perfetta@arm.com,mbrandy@us.ibm.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:478811 Review URL: https://codereview.chromium.org/1155703006 Cr-Commit-Position: refs/heads/master@{#28772}
-
- 02 Jun, 2015 5 commits
-
-
bbudge authored
Adds SIMD 128 alignment sizes and masks. Adds support in Heap for SIMD alignments and fills. Reworks cctest so that each test independently aligns its allocation address, rather than depending on the previous tests ending state. Adds test cases for SIMD. LOG=N BUG=v8:4124 Committed: https://crrev.com/4347d56a6919ae06a70e4a4a8b2f1179cf47bc7e Cr-Commit-Position: refs/heads/master@{#28767} Review URL: https://codereview.chromium.org/1159453004 Cr-Commit-Position: refs/heads/master@{#28771}
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1131783003 Cr-Commit-Position: refs/heads/master@{#28770}
-
bbudge authored
Revert of Add SIMD 128 alignment support to Heap. (patchset #3 id:40001 of https://codereview.chromium.org/1159453004/) Reason for revert: Breaks Linux - arm64 - sim - MSAN TBR=jochen Original issue's description: > Add SIMD 128 alignment support to Heap. > Adds SIMD 128 alignment sizes and masks. > Adds support in Heap for SIMD alignments and fills. > Reworks cctest so that each test independently aligns its allocation address, rather than depending on the previous tests ending state. Adds test cases for SIMD. > > LOG=N > BUG=v8:4124 TBR=hpayer@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1169453003 Cr-Commit-Position: refs/heads/master@{#28768}
-
bbudge authored
Adds SIMD 128 alignment sizes and masks. Adds support in Heap for SIMD alignments and fills. Reworks cctest so that each test independently aligns its allocation address, rather than depending on the previous tests ending state. Adds test cases for SIMD. LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1159453004 Cr-Commit-Position: refs/heads/master@{#28767}
-
conradw authored
Copied, with permission, from https://codereview.chromium.org/1151853003/ Initial patch set is an unmodified copy, rebased on top of related fixes from https://codereview.chromium.org/1158933002/ Subsequent patch sets contain fixes for remaining bugs in the CL. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1152093003 Cr-Commit-Position: refs/heads/master@{#28760}
-
- 01 Jun, 2015 1 commit
-
-
ishell authored
This updates Dictionary classes hierarchy and introduces GlobalDictionary class but it is not used yet. Review URL: https://codereview.chromium.org/1163673003 Cr-Commit-Position: refs/heads/master@{#28732}
-
- 21 May, 2015 1 commit
-
-
svenpanne authored
Currently the stub simply calls out to the runtime, this will be improved in a later CLs. The current state at least avoids bit-rot and later merging horror. Fixes frame construction logic for stubs, too, and contains quite a few tiny cleanups in stub-land. Review URL: https://codereview.chromium.org/1150673002 Cr-Commit-Position: refs/heads/master@{#28555}
-
- 15 May, 2015 1 commit
-
-
jochen authored
We want to move to a world where there's no Isolate::Current but we always knows which isolate we're in. There's no way we can teach this info to the C++ allocator. BUG=none R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1128023005 Cr-Commit-Position: refs/heads/master@{#28414}
-