- 22 Apr, 2013 2 commits
-
-
svenpanne@chromium.org authored
* All Lithium instructions have an associated Hydrogen instruction now, simplifying things. * Consistently print <Lithium instruction number,Hydrogen value id> prefixes. * Do not print uninteresting Lithium instructions like empty gaps, jumps to the next instruction, etc. * Removed special handling of HChange-like instructions, it is totally unclear why they had this special treatment. If we really want to print more information about Lithium instructions, we should do it in a totally way, anyway (e.g. by unifying things with the generation of hydrogen*.cfg files). * Made deferred code and the jump table stand out a little bit more. * Print info about special blocks like loop headers and OSR entries. Review URL: https://codereview.chromium.org/14371005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Improvements in lithium code generation. Recognizing if some operands are constants, we can often save on registers and instructions. BUG= Review URL: https://codereview.chromium.org/14022011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Apr, 2013 2 commits
-
-
mstarzinger@chromium.org authored
* src/ast.h: * src/parser.cc: Differentiate between the different kinds of yields, in anticipation of boxing return values. Parse `return' into `yield' in a generator. * src/runtime.h: * src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible runtime function: saves continuation, context, and operands into the generator object. * src/arm/full-codegen-arm.cc (VisitYield): * src/ia32/full-codegen-ia32.cc (VisitYield): * src/x64/full-codegen-x64.cc (VisitYield): Arrange to call SuspendJSGeneratorObject. If the call returns the hole, we suspend. Otherwise we resume. BUG=v8:2355 TEST=These codepaths are tested when the generator is first invoked, and so are covered by mjsunit/harmony/generators-objects.js. Review URL: https://codereview.chromium.org/13704010 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
GetNextEmittedBlock is always called with the same argument (an instance variable), so let's remove it. In EmitGoto, avoid assignment to an argument. This CL is split off another CL for easier reviewing. Review URL: https://codereview.chromium.org/14246031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Apr, 2013 6 commits
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/13886013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
is created for these instructions via a compile info flag. BUG= Review URL: https://codereview.chromium.org/14354003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
* Let GCC check the arguments of LCodeGen::Coment. * Fixed a few call sites. * Made basic blocks a little bit more visible in the code output. * Sorted #includes. Review URL: https://codereview.chromium.org/14079007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14344004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/14083008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/14307006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2013 6 commits
-
-
dslomov@chromium.org authored
R=mstarzinger@chromium.org,jkummerow@chromium.org Review URL: https://codereview.chromium.org/14205006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/13881016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
This reverts commit https://code.google.com/p/v8/source/detail?r=14230 The reason for revert is Win64 mksnapshot failure. Conflicts: src/arm/simulator-arm.cc BUG= Review URL: https://codereview.chromium.org/14096025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Simple strategy: Transform unary plus into multiplication by one directly in the parser and remove it from the Hydrogen graph later. This gives correct type feedback without any special stub for it. BUG=v8:2527 Review URL: https://codereview.chromium.org/13902013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/13996010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/14053008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2013 2 commits
-
-
jkummerow@chromium.org authored
Review URL: https://codereview.chromium.org/13932006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:231217 Review URL: https://codereview.chromium.org/14066009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2013 1 commit
-
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/13952008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2013 5 commits
-
-
rossberg@chromium.org authored
* src/contexts.h: * src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator meta-objects, and store maps for constructing generator functions and their prototypes. * src/factory.h: * src/factory.cc (MapForNewFunction): New helper. (NewFunctionFromSharedFunctionInfo): Use the new helper. * src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For generators, allocate appropriate prototypes and maps. * src/code-stubs.h: * src/arm/code-stubs-arm.h: * src/arm/full-codegen-arm.h: * src/ia32/code-stubs-ia32.h: * src/ia32/full-codegen-ia32.h: * src/x64/code-stubs-x64.h: * src/x64/full-codegen-x64.h: Allow fast closure creation for generators, using the appropriate map. * test/mjsunit/harmony/builtins.js: Add a special case for GeneratorFunctionPrototype.prototype.__proto__. BUG= TEST=mjsunit/harmony/generators-runtime Review URL: https://codereview.chromium.org/13192004 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This makes the logic in the Hydrogen->Lithium translation much clearer, avoids a hand-written dispatch and even opened up opportunities for simpler register constraints for some operations/platforms. Doing the same for the Hydrogen level might be done in a follow-up CL. Review URL: https://codereview.chromium.org/13841003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
Native method invocation from the arm/simulator-arm.cc previously made non-portable assumptions about calling conventions. This was okay for 32-bit stack-based machines, where by-value structs are automatically materialized on the stack, and where both int and double parameters could be passed on the stack. However they are not okay for x86-64, which has an elaborate scheme for passing parameters in registers. This CL replaces the previous non-portable code paths with portable code, using call-sites that accurately match the prototype of the callee. BUG=2614 Review URL: https://chromiumcodereview.appspot.com/13818012 Patch from Brad Chen <bradchen@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/13447003 Patch from Zheng Liu <zheng.z.liu@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/14063006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2013 2 commits
-
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12880017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG=v8:2618 Review URL: https://chromiumcodereview.appspot.com/13811014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Apr, 2013 3 commits
-
-
danno@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/13866005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/13928006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Add check when the global object is the last in the chain. Review URL: https://chromiumcodereview.appspot.com/13730002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
* src/frames.h: Move StackHandlerConstants here, as it is the same for all architectures. BUG= Review URL: https://codereview.chromium.org/13638002 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2013 2 commits
-
-
verwaest@chromium.org authored
The prototype is implicitly checked through a map check of the holder. This is either checked in CheckPrototypes, or as part of the IC. Review URL: https://chromiumcodereview.appspot.com/13529017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
* src/scopes.h (ForceContextAllocation, has_forced_context_allocation): New interface to force context allocation for an entire function's scope. * src/scopes.cc: Unless a new scope is a function scope, if its outer scope has forced context allocation, it should also force context allocation. (MustAllocateInContext): Return true if the scope as a whole has forced context allocation. (CollectStackAndContextLocals): Allow temporaries to be context-allocated. * src/parser.cc (ParseFunctionLiteral): Force context allocation for generator scopes. * src/v8globals.h (VariableMode): Update comment on TEMPORARY. * src/arm/full-codegen-arm.cc (Generate): * src/ia32/full-codegen-ia32.cc (Generate): * src/x64/full-codegen-x64.cc (Generate): Assert that generators have no stack slots. * test/mjsunit/harmony/generators-instantiation.js: New test. BUG=v8:2355 TEST=mjsunit/harmony/generators-instantiation Review URL: https://codereview.chromium.org/13408005 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2013 2 commits
-
-
mstarzinger@chromium.org authored
R=danno@chromium.org Review URL: https://codereview.chromium.org/12521011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/13620003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2013 3 commits
-
-
dslomov@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12491023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=vegorov@chromium.org BUG=chromium:201590 Review URL: https://codereview.chromium.org/13527007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/13461020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2013 1 commit
-
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12490013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2013 1 commit
-
-
dslomov@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12700006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2013 1 commit
-
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12440041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-